2017-06-01 51 views
0

只是一个简单的问题。如果我有2个具有相同名称的2个方法的类...如果我想在调用“applyMixins”时实现这两个类(在一个新类中)会发生什么?在实现过程中,具有相同名称的方法会发生什么情况?

谢谢。

+0

你自己试过了吗?发生了什么?分享您的代码 –

+1

TypeScript编译器输出(有点)可读的JavaScript - 如果您打开输出文件,您可以自己找到它。 –

回答

0
class First{ 
     name: string; 
     methodA(name: string){ 
      this.name= name; 
     } 
    } 

    class Second{ 
     id: string; 
     methodA(id: string){ 
      this.id= id; 
     } 
    } 

    class newClass implements First, Second { 
     id: string; 
     name: string; 
     methodA:()=> void; 
    } 
    applyMixins(newClass, [First, Second]); 
    function applyMixins(derivedCtor: any, baseCtors: any[]) { 
     baseCtors.forEach(baseCtor => { 
      Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => { 
       derivedCtor.prototype[name] = baseCtor.prototype[name]; 
      }); 
     }); 
    } 
    var Pluto = new newClass(); 

    console.log(Pluto.methodA); 

这是我的代码(只是一个例子,看看会发生什么......)。在我的CONSOL日志中的结果是一个像SECOND CLASS的方法写的函数。那是对的吗?谢谢

相关问题