diff --git a/src/geometry/Circle.ts b/src/geometry/Circle.ts index d4a023d..1eb4c2b 100644 --- a/src/geometry/Circle.ts +++ b/src/geometry/Circle.ts @@ -45,6 +45,10 @@ export default class Circle extends Shape { }; } + area() { + return Math.PI * this.radius * this.radius; + } + static fromAttributes(attributes: CircleAttributes): Circle { const { radius } = attributes; return new Circle(radius); diff --git a/src/geometry/Rectangle.ts b/src/geometry/Rectangle.ts index 21af18f..2c78bcf 100644 --- a/src/geometry/Rectangle.ts +++ b/src/geometry/Rectangle.ts @@ -45,6 +45,10 @@ export default class Rectangle extends Shape { return new Rectangle(width, height); } + area() { + return this.width * this.height + } + get attributeData() { return [ { diff --git a/src/geometry/Square.ts b/src/geometry/Square.ts index 53563b9..e179926 100644 --- a/src/geometry/Square.ts +++ b/src/geometry/Square.ts @@ -38,6 +38,10 @@ export default class Square extends Rectangle { ); } + area() { + return this.sideLength * this.sideLength; + } + getCloneAttributes() { return [this.sideLength]; }