1. 子类继承父类的时候,会继承父类的方法,多个子类继承,都会继承相同的父类方法,如果执行继承的这个方法,里面执行的代码逻辑会是一样的(不考虑传参)
    2. 例如:
    1. class Animal{
    2. name: string
    3. age: number
    4. constructor(name:string,age:number) {
    5. this.name = name
    6. this.age=age
    7. }
    8. sayHello() {
    9. console.log('hello,',this.name,this.age)
    10. }
    11. }
    12. class Cat extends Animal {}
    13. let cat1 = new Cat('小猫',3)
    14. cat1.sayHello()
    15. class Dog extends Animal {}
    16. let dog1=new Dog('小狗',5)
    17. dog1.sayHello()

    上面例子中,cat1和dog1 执行父类继承来的方法sayHello的时候,都会执行里面的代码块 console.log(‘hello,’,this.name,this.age)

    **但是有时候我们写代码不要更灵活的方式,希望这个方法里面可以执行不同的东西;**

    所以可以使用方法重写的方式来实现,具体方式是:在子类中重新写一个和父类相同名称的方法。

    1. class Animal{
    2. name: string
    3. age: number
    4. constructor(name:string,age:number) {
    5. this.name = name
    6. this.age=age
    7. }
    8. sayHello() {
    9. console.log('hello,',this.name,this.age)
    10. }
    11. }
    12. class Cat extends Animal { //子类继承
    13. sayHello(){ //方法重写
    14. console.log('这里是cat的自定义方法')
    15. }
    16. }
    17. let cat1 = new Cat('小猫',3) //实例化子类
    18. cat1.sayHello()
    19. //这里会执行Cat 子类自己的方法,打印出‘这里是cat的自定义方法’
    20. class Dog extends Animal {//子类继承
    21. }
    22. let dog1=new Dog('小狗',5) //实例化子类
    23. dog1.sayHello()
    24. //这里会执行继承来的方法,打印出‘hello, 小狗 5'

    上面的例子就是子类方法重写的用法