Skip to content

Commit cdb65ea

Browse files
committed
constructors
1 parent 277c750 commit cdb65ea

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed

MethodOverriding.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
class Employee {
2+
constructor(name) {
3+
console.log(`${name} - Employee's constructor is here`);
4+
this.name = name;
5+
}
6+
login() {
7+
console.log(`Employee has logged in`);
8+
}
9+
10+
logout() {
11+
console.log(`Employee has logged out`);
12+
}
13+
14+
requestLeaves(leaves) {
15+
console.log(`Employee has requested ${leaves} leaves - Auto approved`);
16+
}
17+
}
18+
19+
class Programmer extends Employee {
20+
constructor(name) {
21+
super(name);
22+
console.log(`This is a newly written constructor`);
23+
}
24+
// constructor(...args){ ---> If there is no constructor in the child class, this is created automatically
25+
// super(...args)
26+
// }
27+
requestCoffee(x) {
28+
console.log(`Employee has requested ${x} coffees`);
29+
}
30+
requestLeaves(leaves) {
31+
super.requestLeaves(4);
32+
console.log("One extra is granted");
33+
// console.log(`Employee has requested ${leaves + 1} leaves (One extra)`)
34+
}
35+
}
36+
37+
let e = new Programmer("Harry");
38+
e.login();
39+
e.requestLeaves(3);

OverridingConstructor.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
class Employee {
2+
constructor(name) {
3+
console.log(`${name} - Employee's constructor is here`);
4+
this.name = name;
5+
}
6+
login() {
7+
console.log(`Employee has logged in`);
8+
}
9+
10+
logout() {
11+
console.log(`Employee has logged out`);
12+
}
13+
14+
requestLeaves(leaves) {
15+
console.log(`Employee has requested ${leaves} leaves - Auto approved`);
16+
}
17+
}
18+
19+
class Programmer extends Employee {
20+
constructor(name) {
21+
// this.name; // it will give error, as this must be written after super constructor.
22+
super(name); // must utilize this constructor
23+
console.log(`This is a newly written constructor`);
24+
}
25+
// constructor(...args){ ---> If there is no constructor in the child class, this is created automatically
26+
// super(...args)
27+
// }
28+
requestCoffee(x) {
29+
console.log(`Employee has requested ${x} coffees`);
30+
}
31+
requestLeaves(leaves) {
32+
super.requestLeaves(4);
33+
console.log("One extra is granted");
34+
// console.log(`Employee has requested ${leaves + 1} leaves (One extra)`)
35+
}
36+
}
37+
38+
let e = new Programmer("Harry");
39+
e.login();
40+
e.requestLeaves(3);

0 commit comments

Comments
 (0)