11. TypeScript 类的构造函数
这节课继续学习类的知识,如果你学过Java的话,对构造函数一定不陌生,构造函数就是在类被初始化的时候,自动执行的一个方法。我们通过这个构造方法经常做很多需要提前完成的工作,比如显示页面前我们要从后台得到数据。直接看例子。
类的构造函数
新建立一个页面Demo11.ts,然后在页面里新建一个 Person 类,类的里边定义一个name,但是name我们并不给他值,然后我们希望在new出对象的时候,直接通过传递参数的形式给name赋值,并打印出来。这时候我们就需要用到构造函数了,构造函数的关键字是constructor。
class Person{
public name :string ;
constructor(name:string){
this.name=name
}
}
const person= new Person('mybj123.com')
console.log(person.name)
写完后使用ts-node demo11.ts进行查看,应该可以打出mybj123.com的字样。这是最常规和好理解的写法,那有没有更简单的写法呢?当然有。
class Person{
constructor(public name:string){
}
}
const person= new Person('mybj123.com')
console.log(person.name)
这种写法就相当于你定义了一个name,然后在构造函数里进行了赋值,这是一种简化的语法,在工作中我们使用这种语法的时候会更多一些。
类继承中的构造器写法
普通类的构造器我们已经会了,在子类中使用构造函数需要用super()调用父类的构造函数。这时候你可能不太理解我说的话,我们还是通过代码来说明。
class Person{
constructor(public name:string){}
}
class Teacher extends Person{
constructor(public age:number){
super('mybj123.com')
}
}
const teacher = new Teacher(18)
console.log(teacher.age)
console.log(teacher.name)
这就是子类继承父类并有构造函数的原则,就是在子类里写构造函数时,必须用super()调用父类的构造函数,如果需要传值,也必须进行传值操作。即使是父类没有构造函数,子类也要使用super()进行调用,否则就会报错。
class Person{}
class Teacher extends Person{
constructor(public age:number){
super()
}
}
const teacher = new Teacher(18)
console.log(teacher.age)
好了,以上就是这节我们所学的内容了,主要讲的就是类中的构造函数(也有叫构造器的),构造函数在工作中用的很多,所以你要学会并作充分的练习。
以上关于11. TypeScript 类的构造函数的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 11. TypeScript 类的构造函数

微信
支付宝