TypeScript - Klassen und Interfaces

in blurtgerman •  2 years ago 

Im letzten Beispiel hatten wir ein Object 'point2D' angelegt. Das Problem mit nativen objects ist, wenn man ein Array damit erstellen möchte, so ist der Arraytyp 'any' und nicht 'point2D'. Hier möchte ich dieses 'point2D' als Klasse schreiben und es durch ein Interface erweitern. Mit einer Klasse können wir ein 'point2D-Array' erstellen. Das Interface stellt sicher, dass die angegebenen Variablen und Funktionen in der Klasse implementiert werden müssen. Ansonsten gibt es eine Fehlermeldung.
Für dieses Beispiel ist die Verwendung eines Interfaces überflüssig, aber für Demonstrationszwecke okay.

// interfaces declares something but it does not implement the logic
interface IPoint {
    x : number,
    y : number,
    printCoords : Function
}

// classes are a blueprint. Instances can be created
class Point2D implements IPoint {
    public x : number;
    public y : number;

    constructor(x : number, y : number) {
        this.x = x;
        this.y = y;
    }

    public getCoords() : number[] {
        return [this.x,this.y];
    }

    public printCoords() : void {
        console.log(`${this.x} ${this.y}`);
    }
}

let points : Point2D[] = [];
points.push(new Point2D(3,5));
points.push(new Point2D(4,6));
points.forEach(elem => elem.printCoords());



Posted from https://blurtlatam.intinte.org

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!