-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclasses.js
93 lines (54 loc) · 2.63 KB
/
classes.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// 1. Copy and paste your prototype in here and refactor into class syntax.
/* ===== Prototype Practice ===== */
// Task: You are to build a cuboid maker that can return values for a cuboid's volume or surface area. Cuboids are similar to cubes but do not have even sides. Follow the steps in order to accomplish this challenge.
/* == Step 1: Base Constructor ==
Create a constructor function named CuboidMaker that accepts properties for length, width, and height
*/
// function CuboidMaker(attributes) {
// this.length = attributes.length;
// this.width = attributes.width;
// this.height = attributes.height;
// }
class CuboidMaker {
constructor (attributes) {
this.length = attributes.length;
this.width = attributes.width;
this.height = attributes.height;
}
/* == Step 2: Volume Method ==
Create a method using CuboidMaker's prototype that returns the volume of a given cuboid's length, width, and height
Formula for cuboid volume: length * width * height
*/
// CuboidMaker.prototype.volume = function(vol) {
// return this.length * this.width * this.height;
// };
volume () {
return this.length * this.width * this.height;
}
/* == Step 3: Surface Area Method ==
Create another method using CuboidMaker's prototype that returns the surface area of a given cuboid's length, width, and height.
Formula for cuboid surface area of a cube: 2 * (length * width + length * height + width * height)
*/
// CuboidMaker.prototype.surfaceArea = function(surfaceAr) {
// return 2 * (this.length * this.width * this.height);
// };
surfaceAr () {
return 2 * (this.length * this.width * this.height);
}
}
/* == Step 4: Create a new object that uses CuboidMaker ==
Create a cuboid object that uses the new keyword to use our CuboidMaker constructor
Add properties and values of length: 4, width: 5, and height: 5 to cuboid.
*/
const newCuboid = new CuboidMaker ({
length: 4,
width: 5,
height: 5
})
// Test your volume and surfaceArea methods by uncommenting the logs below:
console.log(newCuboid.volume()); // 100
// console.log(cuboid.surfaceArea()); // 130
// Test your volume and surfaceArea methods by uncommenting the logs below:
// console.log(cuboid.volume()); // 100
// console.log(cuboid.surfaceArea()); // 130
// Stretch Task: Extend the base class CuboidMaker with a sub class called CubeMaker. Find out the formulas for volume and surface area for cubes and create those methods using the dimension properties from CuboidMaker. Test your work by logging out your volume and surface area.