Classes
Last updated
Last updated
class Square {
constructor (side){
this.side = side;
}
}
const obj = new Square(4);class Square {
...
// Prototype method
toString() {
return `side: ${this.side}`;
}
}
const square = new Square(4);
square.toString();class Square {
...
static fromArea(area) {
return new Square(Math.sqrt(area));
}
}
const square = Square.fromArea(16);class Shape {
// Notice that the super class can call methods from sub-classes that extends him
toString() {
return this.calculateArea();
}
}
class Square extends Shape{
constructor (side) {
super();
this.side = side;
}
calculateArea () {
return Math.pow(this.side, 2);
}
toString() {
return `side: ${this.side} area: ${super.toString()}`;
}
}
class Circle extends Shape{
constructor (radius) {
super();
this.radius = radius;
}
calculateArea () {
return Math.PI * Math.pow(this.side, 2);
}
toString() {
return `radius: ${this.radius} area: ${super.toString()}`;
}
}