Polymorphism

by Artem

TypeScript

class Circle {
	public drawCircle() {
		return 'A circle';
	}
}

class Square {
	public drawSquare() {
		return 'A square';
	}
}

class Triangle {
	public drawTriangle() {
		return 'A triangle';
	}
}


const figures = [new Circle(), new Square(), new Triangle()];
figures.forEach(figure => {
	if (figure instanceof Circle) {
		figure.drawCircle();
	}
	
	if (figure instanceof Square) {
		figure.drawSquare();	
	}
	
	if (figure instanceof Triangle) {
		figure.drawTriangle();	
	}
});