只是一个简单的问题。如果我有2个类,其中2个方法具有相同的名称...当我调用“applyMixins”时,如果我想实现这两个类(在一个新类中)会发生什么?
感谢。
答案 0 :(得分: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的方法一样。那是对的吗?感谢