TypeScript学习笔记4-类

TypeScript 类的属性修饰符

  1. public(默认) : 公共的,任何地方都可以访问, 自己, 子类,外部类
  2. private : 私有的,只能自己访问 自己;即使子类也无法访问
  3. protected : 受保护的, 子类可以访问
  4. readonly : 设置为只读,只读属性只有在声明时或构造函数里才可以被初始化

    1
    2
    3
    4
    5
    6
    7
    8
    class Octpus{
    readonly name:string;
    readonly numberOfLines:number = 124;

    constructor(){
    this.name = 'gavin';
    }
    }
  5. static: 静态属性,描述静态成员,直接通过类名.属性名来访问

    1
    2
    3
    4
    5
    6
    7
    class Octpus{
    static privateName = "123";
    static getName():string{
    return Octpus.privateName;
    }
    }
    console.log(Octpus.privateName);

抽象类

  1. 抽象类用于定义抽象类和其中的抽象方法
  2. 抽象类是不允许被实例化的
  3. 抽象方法必须被子类实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

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关键字,类从基类继承了属性和方法。派生类被称为子类,基类被称为超类;