- 1、ts中类的定义使用关键字class、继承使用 extends 和 super
- 2、子类方法名和父类相同表示重写父类方法
- 3、 ts类中修饰符分为3种:
- 3-1 public : 公有(所有)默认
- 3-2 protected:保护 (父类+子类)
- 3-3 private: 私有(本类)
案例:
// ts中类的继承
// 定义父类
class Person {
name:string;
age:number;
constructor(name:string, age:number){
this.name = name;
this.age = age;
}
getName():string{
return this.name;
}
setName(name:string):void{
this.name = name
}
getAge():number{
return this.age
}
setAge(age:number):void{
this.age = age;
}
run():void{
console.log(`${this.name}在跑步`);
}
}
let p = new Person('zs', 20);
console.log(p.getName());
console.log(p.getAge());
p.run();
p.setName('lis');
p.setAge(33);
console.log(p.getName());
console.log(p.getAge());
p.run();
console.log('下面输出字类信息:');
// 继承
class People extends Person {
//
constructor(name:string, age:number){
// 调用父类构造器
super(name, age)
}
// 子类新增方法
work():void{
console.log(`${this.name}在工作`);
}
// 重写父类方法
run():void{
console.log(`${this.name}在跑步-子类重写`);
}
}
let ppp = new People('zl', 10);
console.log(ppp.getName());
console.log(ppp.getAge());
ppp.setName('zhaoliu');
ppp.work();
ppp.run();
console.log(ppp.name)
// ts类中修饰符
// 1、public : 公有(所有)默认
// 2、protected:保护 (父类+子类)
// 3、private: 私有(本类)
console.log('修饰符-------');
class Total {
// 默认修饰符 public
private num:number
//
constructor(num:number){
this.num = num
}
show(){
console.log(`num == ${this.num}`);
}
}
let t = new Total(110);
//
t.show();
// 属性“num”为私有属性,只能在类“Total”中访问
console.log(t.num);
网友评论