TypeScript 类的属性修饰符
- public(默认) : 公共的,任何地方都可以访问, 自己, 子类,外部类
- private : 私有的,只能自己访问 自己;即使子类也无法访问
- protected : 受保护的, 子类可以访问;即使实例也无法访问
- readonly : 设置为只读,只读属性只有在声明时或构造函数里才可以被初始化
class Octpus{
readonly name:string;
readonly numberOfLines:number = 124;
constructor(){
this.name = 'gavin';
}
}
5.static: 静态属性,描述静态成员,直接通过类名.属性名来访问
class Octpus{
static privateName = "123";
static getName():string{
return Octpus.privateName;
}
}
console.log(Octpus.privateName);
抽象类
- 抽象类用于定义抽象类和其中的抽象方法
- 抽象类是不允许被实例化的
- 抽象方法必须被子类实现
abstract class Animal {
private name: string;
public constructor(name: string) {
this.name = name;
}
public setName(name: string): void {
this.name = name;
}
public abstract sayHi(): void;
}
class Cat extends Animal {
sayHi(): void {
console.log('wa hahah ');
}
}
类继承
通过extends关键字,类从基类继承了属性和方法。派生类被称为子类,基类被称为超类;