11 | 类(2):抽象类与多态

class1.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
abstract class Animal {
eat(){
console.log('eat');
}
abstract sleep(): void;
}

class Dog1 extends Animal{
constructor(name: string) {
super();
this.name = name;
}
name: string
run(){}
sleep(){
console.log('dog sleep');
}
}
let dog1 = new Dog1('wangwang');
dog1.eat();

class Cat extends Animal{
sleep(){
console.log('Cat sleep');
}
}
let cat = new Cat();

let animals: Animal[] = [dog1, cat]
animals.forEach(i=>{
i.sleep();
})

class WorkFlow {
step1(){
return this;
}
step2(){
return this;
}
}
new WorkFlow().step1().step2();

class Myflow extends WorkFlow{
next(){
return this;
}
}
new Myflow().next().step1().step2();
要是这篇文章帮到了您,期待您请我喝一杯咖啡。