Day5 Inheritance

Day5 Inheritance

Objective

In this challenge, we practice implementing inheritance and use JavaScript prototypes to add a new method to an existing prototype. Check out the attached Classes tutorial to refresh what we’ve learned about these topics.


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 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
* Write code that adds an 'area' method to the Rectangle class' prototype
*/
Rectangle.prototype.area = function () {
return (this.w * this.h);
}

/*
* Create a Square class that inherits from Rectangle and implement its class constructor
*/
class Square extends Rectangle {
constructor(s) {
super(s, s);
}
}

Solution 2

1
2
3
4
5
6
7
8
9
10
11
Rectangle.prototype.area = function () {
return this.w * this.h;
}

class Square extends Rectangle {
constructor(w) {
super(w);

this.h = w;
}
}

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×