-
Notifications
You must be signed in to change notification settings - Fork 0
/
interface.ts
49 lines (39 loc) · 918 Bytes
/
interface.ts
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
interface Laptop {
name: string;
on(): void;
off(): void;
}
class Asus implements Laptop {
name: string;
isGamingLaptop: boolean;
constructor(name: string, isGamingLaptop: boolean) {
this.name = name;
this.isGamingLaptop = isGamingLaptop;
}
on(): void {
console.log(this.name + " Turn ON");
}
off(): void {
console.log(this.name + " Turn OFF");
}
}
class MacBook implements Laptop {
name: string;
keyboardLight: boolean;
constructor(name: string, keyboardLight: boolean) {
this.name = name;
this.keyboardLight = keyboardLight;
}
on(): void {
console.log(this.name + " Turn ON");
}
off(): void {
console.log(this.name + " Turn OFF");
}
}
let asus = new Asus("Asus ROG", true);
console.log(asus.on());
console.log(asus.off());
let macBookPro = new MacBook("Mac Book Pro", true);
console.log(macBookPro.on());
console.log(macBookPro.off());