Explicitly Defining Method Overrides
class Rectangle extends Shape {
// see above
draw(ctx: CanvasRenderingContext2D) {
// ^
// This member must have an 'override' modifier because it
// overrides a member in the base class 'Shape'.(4114)
ctx.fillStyle = this.fillStyle;
ctx.lineWidth = this.lineWidth;
let a = this.points[0];
let b = this.points[1];
ctx.strokeRect(a.x, a.y, b.x - a.x, b.y - a.y);
}
}