类(Class):定义了一切事务的抽象特点
    对象(Object):类的实例
    面向对象(OOP)三大特性:封装、继承、多态

    1. class Animal {
    2. name: string;
    3. constructor(name: string) {
    4. this.name = name
    5. }
    6. run() {
    7. return `${this.name} is running`
    8. }
    9. }
    10. const snake = new Animal('lily')
    11. console.log(snake.run())
    12. class Dog extends Animal {
    13. bark() {
    14. return `${this.name} is barking`
    15. }
    16. }
    17. const xiaobao = new Dog('xiaobao')
    18. console.log(xiaobao.bark())
    19. class Cat extends Animal {
    20. constructor(name) {
    21. super(name)
    22. }
    23. run() {
    24. return 'Meow,' + super.run()
    25. }
    26. }
    27. const kitty = new Cat('kitty')
    28. console.log(kitty.run())