TypeScript-类
graph TB
A[类]
A --> B(1 继承)
A --> C(2 修饰符) -->D(public)
C -->E(protected)
C -->F(private)
C -->Y(readonly)
A -->G(3 静态属性)
A -->H(4 静态方法)
A -->I(5 实例方法)
A -->J(6 多态)
A -->K(7 抽象类)
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() // 我的名字是张小明
二 修饰符【TypeScript-类】public 公有类型:当前类、子类、类外部均可访问。
protected 保护类型:当前类、子类可以访问,类外部无法访问。
private 私有类型: 仅当前类可以访问,子类、类外部无法访问。
readonly 只读类型:只读属性必须在声明时或构造函数里被初始化
在ts中如果属性和方法前面不加修饰符,那么该属性或者方法默认为公有类型。
三 静态属性方法前面加static关键字。
四 静态方法静态方法中无法直接调用类的属性。
五 实例方法
六 多态属于继承的一种。
父类定义一个方法不实现,而是让它的子类去实现,每一个子类有不同的表现。
七 抽象类抽象方法和抽象类用来定义标准。
提供其他继承类的基类,不能被直接实例化。
用abstract关键字定义抽象类和抽象方法。
抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 为什么你的路演总会超时()
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 使用composer自动加载类文件
- 一个健康的APP和健全的人格大体类似
- 种树郭橐驼传(文言句式+古今异义+词类活用+通假字)
- 归乡-序章(世界伊始,人类无所依靠,我的故事就从这里开始...)
- jQuery插件
- 第十六天(请介绍一件让你非常自豪的事情,(不能是职业类的),什么原因感到自豪。)