类的注解
class Person {name: string;constructor (name: string) {this.name = name;}sayHi (): string {return "Hi, " + this.name;}}let person1 = new Person("zs");
继承中的super
class Animal {name: string;constructor (theName: string) {this.name = theName;}move (m: number) {console.log(`${this.name} move ${m}m `);}}class Dog extends Animal {constructor (name: string) {super(name); // 这里的super是父类的构造函数}move (m = 10) {console.log("wangwangwang!");super.move(m); // 这里的super是父类}}
类成员的修饰符
public ( 公共属性 )
- 自身可调用
- 子类可调用
-
private ( 私有属性 )
-
protected ( 保护属性 )
自身可调用
- 子类可调用
readonly ( 只读属性 )
设置为只读,只读属性只能在声明时或构造函数内赋值。
注:该修饰符在要写在上面修饰符的后面,不能修饰方法。 ```typescript class Person { private readonly name: string, constructor (name: string) { this.name = name; } }
// ———可简写为↓————
class Person { constructor (private readonly name: string) {} }
<a name="E4Chx"></a>## 抽象类能够提供其他类的基类;无法创建实例;抽象方法一定要有实现。<br />关键字:abstract```typescriptabstract class Animal {absctract makeSound (): void; // 必须在子类中实现move () {console.log("dadadada");}}new Animal(); // -> 报错class Cat extends Animal {makeSound () {console.log("miaomiaomiao~")}}class Dog extends Animal {makeSound () {console.log("wangwangwang~")}}let cat = new Cat();let dog = new Dog();
