参考:ts.xcatliu.com/advanced/cl…
类
类中的修饰符
- public:修饰的属性和方法都是公有的,任何地方都可访问,默认是public
- private:
-
- 修饰的属性和方法都是私有的,不能在声明它的外部访问
- 在子类中也不允许访问
- 构造函数修饰为私有的,不允许被继承和实例化
- protected
-
- 修饰的方法和属性是受保护的
- 允许在子类中访问
- 构造函数修饰为受保护的,只允许被继承
参数属性
修饰符和readonly还可以使用在构造函数参数中,等同于类中定义该属性同时给该属性赋值,使代码更简洁。
class Animal {
// public name: string;
public constructor(public name) {
// this.name = name;
}
}
readonly
abstract抽象类
- abstract用于定义抽象类和其中的抽象方法
- 抽象类不允许实例化
- 抽象类中的抽象方法必须被子类实现
Interfaces
- 一般来讲,一个类只能继承自另一个类,有时候不同类之间可以有一些共有的特性,这时候就可以把特性提取成接口(interfaces),用
implements关键字来实现。 - 接口可以继承接口
- 接口可以继承类
- 实际上,当我们在声明
class Point时,除了会创建一个名为Point的类之外,同时也创建了一个名为Point的类型(实例的类型)
-
- 当做一个类来用,使用
new Point创建它的实例 - 当做类型使用时,使用
: Point表示参数的类型
- 当做一个类来用,使用
-
-
- 实例的类型当然不应该包括构造函数、静态属性或静态方法
-
-
- 在接口继承类的时候,也只会继承它的实例属性和实例方法
- 所以说当接口继承类时,实际上继承的是 类的 实例的类型