inheritance || JS hackerrank Solution

 Task

We provide the implementation for a Rectangle class in the editor. Perform the following tasks:

1. Add an area method to Rectangle's prototype.

2. Create a Square class that satisfies the following:

It is a subclass of Rectangle.

It contains a constructor and no other methods.

It can use the Rectangle class' area method to print the area of a Square object.

Locked code in the editor tests the class and method implementations and prints the area values to

STDOUT.

   







Solution:


class Rectangle {

    constructor(w, h) {

        this.w = w;

        this.h = h;

    }

  }

 

  Rectangle.prototype.area=function(){

    return (this.h*this.w);

   }

 

 

   class Square extends Rectangle{

    constructor(s){

        super(s);

       

        this.w=s;

        this.h=s;

       

      }

   

   }

 

 

  if (JSON.stringify(Object.getOwnPropertyNames(Square.prototype))   === JSON.stringify([ 'constructor' ])) {

    const rec = new Rectangle(3, 4);

    const sqr = new Square(3);

   

    console.log(rec.area());

    console.log(sqr.area());

    } else {

    console.log(-1);

    console.log(-1);

    }

No comments:

Post a Comment