类 class
类:定义了一切事物的抽象特点
对象:类的实例
面向对象三大特性:封装、继承、多态
typescript中的类
public:修饰的属性或方法是共有的
private:修饰的属性或方法是私有的
protected:修饰的属性或方法是受保护的
// 创建类,动物 class animal { // 当name前面加上readonly时,说明name的只读属性,实例中无法修改(snake、xiaogou、xiaomao相当于实例) name:string constructor(name) { this.name = name } // 当run前面加上private时,子类无法调用run方法 // 当run前面加上protected时,子类supe仍r可调用父类run方法 run() { return '${this.name} is running' } } const snake = new animal('lily') console.log(snake.run()) // extends继承父级属性 class dog extends animal { bark() { return '${this.name} is barking' } } const xiaogou = new dog('xiaogou') console.log(xiaogou.run()) console.log(xiaogou.bark()) class cat extends animal { constructor(name) { super(name) console.log(this.name) } run() { return 'meow,' + super.run() } } const xiaomao = new cat('xiaomao') console.log(xiaomao.run())