-
类的定义
class Person { constructor(public name: string) {} getName(): void { console.log(this.name); } } let p1 = new Person("hi"); p1.getName(); -
存取器
class User { myname: string; constructor(myname: string) { this.myname = myname; } get name() { return this.myname; } set name(value) { this.myname = value; } } let user = new User("hi"); user.name = "echo"; console.log(user.name); -
readyOnly只读属性
class Animal { public readonly name: string; constructor(name: string) { this.name = name; } changeName(name: string) { this.name = name; } } let a = new Animal("hi"); -
继承
class Person { name: string; age: number; constructor(name: string, age: number) { this.name = name; this.age = age; } getName(): string { return this.name; } setName(name: string): void { this.name = name; } } class Student extends Person { no: number; constructor(name: string, age: number, no: number) { super(name, age); this.no = no; } getNo(): number { return this.no; } } let s1 = new Student("hi", 18, 2); console.log(s1); -
类里面的修饰符
class Parent { public name: string; protected age: number; private car: number; constructor(name: string, age: number, car: number) { this.name = name; this.age = age; this.car = car; } getName(): string { return this.name; } setName(name: string): void { this.name = name; } } class Child extends Parent { constructor(name: string, age: number, car: number) { super(name, age, car); } desc() { console.log(`${this.name} ${this.age} ${this.car}`) } } let child = new Child("hi", 3, 1000); console.log(child.name); console.log(child.age); console.log(child.car); -
静态属性、静态方法
class Parent { static mainName = "Parent"; static getmainName() { console.log(this); return this.mainName; } public name: string; constructor(name: string) { this.name = name; } } console.log(Parent.mainName); console.log(Parent.getmainName()); -
抽象类、抽象方法
abstract class Animal { name!: string; abstract speak(): void; } class Cat extends Animal { speak() { console.log("miao"); } } let animal = new Animal(); let cat = new Cat(); cat.speak();