Typescript 的类、继承、修饰符
程序员文章站
2022-07-03 23:20:44
...
ts的类class
class Person{
name:string; //属性,前面省略了public关键词
constructor(n:string){ //构造函数,实例化类的时候触发的方法
this.name = n
}
getName():void{
console.log(`my name is ${this.name}`)
}
setName(name:string):void{
this.name = name
}
}
var p = new Person('小花')
p.getName() //my name is 小花
ts的继承 extend、super
class Person{ //父类
name:string;
constructor(n:string){
this.name = n
}
getName():void{
console.log(`my name is ${this.name}`)
}
}
class Man extends Person{ //子类继承父类
constructor(name:string){
super(name) //初始化父类的构造函数
}
work():void{
console.log(`man work`)
}
getName():void{
console.log(`man is ${this.name}`)
}
}
var m = new Man('小明')
m.getName() // my name is 小明
子类扩展自己的方法
class Man extends Person{ //子类继承父类
constructor(name:string){
super(name) //初始化父类的构造函数
}
work():void{
console.log(`man work`)
}
}
var m = new Man('小明')
m.work()
当子类和父类有同名方法,会使用子类的。顺序是先在子类中找,子类中没有的话找父类的
class Man extends Person{ //子类继承父类
constructor(name:string){
super(name)
}
getName():void{
console.log(`子类方法 ${this.name}`)
}
}
var m = new Man('小明')
m.getName() //子类方法 小明
类里面定义属性时的修饰符
- public:共有属性,可以在当前类、子类、类外部访问
- protected:保护属性,可以在当前类、子类访问,不能在类外部访问
- private:私有属性,只能在当前类访问
class Person{
name:string;
constructor(n:string){
this.name = n
}
getName():void{
console.log(`my name is ${this.name}`) //当前类访问属性
}
setName(name:string):void{
this.name = name
}
}
var p = new Person('小花')
console.log(p.name) //类外部访问属性
class Man extends Person{
constructor(name:string){
super(name)
}
getName():void{
console.log(`子类方法 ${this.name}`) //子类访问属性
}
}
上一篇: 请求拦截器中对于get的请求参数的处理
下一篇: Debian10配置镜像源(外网、内网)