TypeScript学习笔记 类继承和成员修饰符
ES6 class类
|
TypeScript calss类
定义类
- 使用ts重构上面的
class类
,给构造函数的参数和成员属性添加类型注解。 - 类成员的属性,都是实例属性,而不是原型属性。
- 类成员的方法,都是实例方法。
- 实例的属性必须有初始值,或者在构造函数中被初始化。
|
类的继承
|
类的修饰符
public/private
public
公有成员,类的所有属性默认都是公有成员。private
私有成员,只能在类的本身调用,不能被实例和子类调用。private
如果加在构造函数,表示这个类既不能实例化,也不能继承。
|
protected
protected
受保护成员,只能在类或子类访问,不能再类实例中访问。protected
如果加在构造函数,表示这个类不能被实例化,能被继承。
|
readonly
readonly
只读属性,不可以被更改,一定要初始化。
|
static
static
静态成员,只能用过类名来调用,不能通过实例来调用,但是可以被继承。
|
构造函数参数添加修饰符
- 将参数变成实例的属性,即可省略类中的定义。
|
总结
实例后访问
public
公有成员,readonly
只读属性
类直接访问
static
静态成员
可以被继承
public
公有成员,protected
,readonly
只读属性,static
静态成员
不可以被继承
private
私有成员
类内部访问
private
私有成员,protected
受保护成员