ts 一个class类的构造函数里面无法获取另一个类但有另一个类的实例怎么根据另一个类的实例自动继承另一个类的所有公有方法
可以使用 TypeScript 中的继承机制来解决这个问题。首先,在目标类的构造函数中,需要调用父类的构造函数来继承父类的属性和方法。然后,通过在目标类中定义一个类型为另一个类的实例的属性,在构造函数中将该属性设置为另一个类的实例,即可在目标类中访问另一个类的公有方法。
下面是一个示例代码:
class Parent {
public parentMethod() {
console.log('This is parent method');
}
}
class Target {
private _parentInstance: Parent;
constructor(parentInstance: Parent) {
this._parentInstance = parentInstance;
}
public targetMethod() {
console.log('This is target method');
this._parentInstance.parentMethod();
}
}
const parentInstance = new Parent();
const targetInstance = new Target(parentInstance);
targetInstance.targetMethod();
在上面的代码中,Target 类的构造函数中需要传入一个 Parent 类的实例 parentInstance,然后将该实例赋值给一个名为 _parentInstance 的私有属性。在 Target 类中定义了一个名为 targetMethod 的公有方法,该方法可以访问 Parent 类的公有方法 parentMethod,并在控制台中输出一些信息。
在 main 函数中,我们首先创建了一个 Parent 类的实例 parentInstance,然后将该实例传入 Target 类的构造函数中,创建了一个 Target 类的实例 targetInstance。最后,我们调用了 targetInstance 的 targetMethod 方法,执行了一些操作并输出了一些信息
原文地址: http://www.cveoy.top/t/topic/hxHj 著作权归作者所有。请勿转载和采集!