class Point { constructor(public x: number, public y: number) { } getDist() { return Math.sqrt(this.x*this.x + this.y*this.y); } static origin = new Point(0,0); } class Point3D extends Point { constructor(x: number, y: number, public z: number, m:number) { super(x, y); } getDist() { return Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.m); } }