class Work {
step1(){
returnthis
}
step2(){
returnthis
}
}
new Work().step1().step2()
class MyWork extends Work {
next(){
returnthis;
}
}
new MyWork().next().step1().step2()
类和接口的关系
使用关键字implements
类实现接口时,必须声明接口中所有声明
interface Human {
name:string;
eat():void;
}
class Asian implements Human {
constructor(name:string){
this.name = name
}
name:string
eat(){}
}
接口只能约束类的公有成员,不能约束类的构造函数
interface Human {
name:string;
eat():void;
}
class Asian implements Human {
constructor(name:string){
this.name = name
}
//私有成员会报错private name:string
eat(){}
}
接口继承
interface Human {
name:string;
eat():void;
sleep():void;
}
class Asian implements Human {
constructor(name:string){
this.name = name
}
name:string
eat(){}
sleep(){}
}
interface Man extends Human {
cry():void
}
interface Child {
run():void
}
interface Boy extends Child,Man {
}
let boy:Boy = {
name:'',
eat(){},
sleep(){},
cry(){},
run(){},
}
接口继承类
//接口继承类class Auto {
state = 1
}
interface AutoInterface extends Auto {
}
class C implements AutoInterface {
state = 1
}
//接口继承子类class Bus extends Auto implements AutoInterface {
}