1.ts中定义类
class Person{ name:string;//属性 前面省略了public关键词 constructor(name:string){//构造函数 实例化类的时候触发的方法 this.name=name; } getName():string{ return this.name; } setName(name:string):void{ this.name=name; } run():void{ alert(this.name); } } var p=new Person('张三'); alert(p.getName()); p.setName('李四'); alert(p.getName()); p.run()
2.ts中实现继承 extends、super
class Person{ name:string; constructor(name:string){ this.name=name; } run():string{ return `${this.name}在运动` } } class Web extends Person{ constructor(name:string){ super(name); /*初始化父类的构造函数*/ } } var w=new Web('李四'); w.run();
3.类里面的修饰符:public、protected、private
4.静态属性 静态方法
class Person{ public name:string; public age:number=20; static sex="男";//静态属性 constructor(name:string) { this.name=name; } run(){/*实例方法*/ alert(`${this.name}在运动`) } work(){ alert(`${this.name}在工作`) } static print(){/*静态方法 里面没法直接调用类里面的属性*/ alert('print方法'+Per.sex); } } Person.print(); alert(Person.sex);
5.多态:父类定义一个方法不去实现,让继承它的子类去实现
每一个子类有不同的表现,多态属于继承
6.抽象类
它是提供其他类继承的基类,不能直接被实例化。
用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。
abstract抽象方法只能放在抽象类里面。
抽象类和抽象方法用来定义标准。