es5中构造类的方法
function run(){this.name='张三';
this.age=20;
this.sun=function(){console.log(this.neme+'在运动')}
}
var p= new run()
此时调用p.sun得到张三在运动
也可加在原型链上run,prototype.sex='男'
在ts中通过class关键字来定义
class Person{
name:string;//前面省略了public关键词
constructor(n:string){
this.name=n
}//构造函数,实例化类的时候触发发方法
run():void{
alert(this.name)
}
}
var p =new Person('张三')
p.run()
得到张三,方法类似雨es6
ts中类的继承,使用extends和super实现
class Person{
name:string;
constructor(n:string){
this.name=n
}
run():void{
return '$(this.name)在运动'
}
}
class web extends Person{
constructor(name:string){
super(name)
}//初始化父类的构造函数
}
var p =new web('张三')
p.run()
此时web即可继承Person的类
类的修饰符
- ts中定义类的属性时提供了三种修饰符
1、public,公有,在当前类,子类,外部都可以访问到;
2、protected ,保护类型,在当前类和子类中可以访问到;
3、private,私有,在当前类中可以访问到;
如果属性不加修饰符,默认是公有的public