我有两节课;存储库和用户存储库。我想在 Repository 中定义一个静态方法,该方法在运行时调用 UserRepository 中的静态函数。有什么干净的方法可以做到这一点吗?
class Repository {
static printModel() {
return console.log(this.constructor.model())
}
}
class UserRepository extends Repository {
static model() {
return "I am a user";
}
}
UserRepository.printModel(); // Doesn't work; want it to print "I am a user"
现在,上面的方法不起作用是有道理的,因为这可能指的是一个实例,而我在这种情况下没有实例。
我的问题是,如何引用子类方法model()
从基类?
现在,上面的方法不起作用是有道理的,因为这可能指的是一个实例,而我在这种情况下没有实例。
不,怎么会this
举个例子,你说你没有?
不,静态方法只是像任何其他方法一样的函数,并且this
指的是它们被调用的任何内容。在UserRepository.printModel();
, this
将参考UserRepository
。你可以使用this.model()
调用静态.model()
该类的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)