graph TB
A[类]
A --> B(1 继承)
A --> C(2 修饰符) -->D(public)
C -->E(protected)
C -->F(private)
C -->G(readonly)
A -->H(3 动态属性)
A -->I(4 静态方法)
A -->J(5 实例办法)
A -->K(6 多态)
A -->L(7 抽象类)
A -->O(8 存取器)
style A fill:#2ff,fill-opacity:0.1,stroke:#faa,stroke-width:4px,color:blue
一 类的继承
继承关键字 extends super
class Student {
name:string = '';
constructor(name:string){this.name = name;}
}
class Xiaoming extends Student{constructor(name:string){super(name);
}
public say():void{console.log('我的名字是' + this.name);
}
}
let student_xiaoming = new Xiaoming('张小明');
student_xiaoming.name // 张小明
student_xiaoming.say() // 我的名字是张小明
二 修饰符
public 私有类型:以后类、子类、类内部均可拜访。
protected 爱护类型:以后类、子类能够拜访,类内部无法访问。
private 公有类型:仅以后类能够拜访,子类、类内部无法访问。
readonly 只读类型:只读属性必须在申明时或构造函数里被初始化
在 ts 中如果属性和办法后面不加修饰符,那么该属性或者办法默认为私有类型。
三 动态属性
办法后面加 static 关键字。
static 申明的属性在子类中不必实例化就能够间接拜访。
四 静态方法
静态方法中无奈间接调用类的属性。
五 实例办法
六 多态
属于继承的一种。
父类定义一个办法不实现,而是让它的子类去实现,每一个子类有不同的体现。
七 抽象类
形象办法和抽象类用来定义规范。
提供其余继承类的基类,不能被间接实例化。
用 abstract 关键字定义抽象类和形象办法。
抽象类中的形象办法不蕴含具体实现并且必须在派生类中实现。
八 存取器
get 管制类中成员属性的读取。
set 管制类中成员属性的设置。