1.interface 继承 extends
//创建一个类型A
interface jichengA{
name: string
}
//创建一个类型B,在继承类型A里面的类型。
interface jichengB extends jichengA {
getName():string
}
//定义一个函数,传参data类型为B。
let jichengC = (data:jichengB)=>{
console.log(data.getName)
}
jichengC({
name:'zqc',
getName(){
return this.name;
}
})
2. class 类的继承 extends
class classJcA {
name = 'classJcA-zqc';
getName():string{
return this.name
}
}
定义一个方法C继承方法A里面的方法和属性。
class classJcC extends classJcA{
getOK(){
return 'ok';
};
getName(){
return '如果自己有的方法,就调用自己的不会继承父级的'
};
chongxin(){
return super.getName() + '===如果子覆盖了父的方法,可通过super调用父级里面的方法'
}
}
var classJcD = new classJcC()
console.log(classJcD.getName()) //如果自己有的方法,就调用自己的不会继承父级的
console.log(classJcD.getOK()) // ok
console.log(classJcD.chongxin()) //classJcA-zqc===如果子覆盖了父的方法,可通过super调用父级里面的方法
3. class 类的访问类型 private protected public
// private 只允许在类的内部调用
// protected 只允许在类的内部和继承的子级调用
// public 允许在类的内外调用,默认
class FangwenA{
name = '类的访问类型';
private age = 132;
protected man = '男';
}
//方法C继承方法A, man可以被子级调用。
class FangwenC extends FangwenA{
getAge(){
return this.man;
}
}
var fangwenB = new FangwenA()
//name可以被外部调用
console.log(fangwenB.name)
//age 只允许在方法A里面调用,在外部和子级调用就报错。
// console.log(fangwenB.age) //访问私有变量,报错。
typescript 学习 系列(四)
最新推荐文章于 2024-04-22 23:18:29 发布