您当前的位置: 首页 >  typescript

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

typescript中class的继承(inherit)、extends

发布时间:2022-01-03 22:41:13 ,浏览量:0

// 自执行函数的作用是形成单独模块(块作用域), // 防止此文件的变量或方法与其他文件的属性或方法冲突 (function () { // 定义一个Animal类 class Animal { name: string; age: number; constructor(name: string, age: number) { this.name = name; this.age = age; } run() { console.log(`${this.name}在跑~~~`); return `${this.name}在跑~~~`; } sayHello() { console.log('动物在叫~'); } } // Dog extends Animal // Animal被称为父类, // Dog被称为子类 // 使用继承后,子类将会拥有父类所有的方法和属性 // 通过继承可以将多个类中共有的代码写在一个父类中, // 这样只需要写一次即可让所有的子类都同时拥有父类中的属性和方法 // 如果希望在子类中添加一些父类中没有的属性或方法直接加就行 // 如果在子类中添加了和父类相同的方法,则子类方法会覆盖掉父类的方法 // 这种子类覆盖掉父类方法的形式,称为方法重写 // 定义一个表示狗的类 // 使Dog类继承Animal类 class Dog extends Animal { sayHello() { console.log(this.name, '汪汪汪汪!'); // 旺财 汪汪汪汪! return this.name + '汪汪汪汪!'; } } // 定义一个表示猫的类 // 使Cat类继承Animal类 class Cat extends Animal { sayHello() { console.log(this.name, '喵喵喵喵!'); return `${this.name}喵喵喵喵!`; } } const dog = new Dog('旺财', 5); const cat = new Cat('咪咪', 3); console.log('dog:', dog); // dog: Dog {name: "旺财", age: 5} console.log('dog:', dog.sayHello()); // dog: 旺财汪汪汪汪! console.log('dog:', dog.run()); // dog: 旺财在跑~~~ console.log('cat:', cat); // cat: Cat {name: "咪咪", age: 3} console.log('cat:', cat.sayHello()); // cat: 咪咪喵喵喵喵! })(); 
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.6901s