如何在 javascript 中让多个对象扩展 1 个对象

How to have multiple objects extend 1 object in javascript?

本文关键字:对象 扩展 javascript      更新时间:2023-09-26

在javascript中,我有一个对象(如抽象类)定义为

var abstractclass = function() {
};

现在我想让其他一些类扩展abstractclass。这就是我的做法,但我不认为这是最好的方法。我只是在类中创建父级的实例,然后我只使用父级。

var abstractclassA = function() {
    var parent = new abstractclass();
};
var abstractclassB = function() {
    var parent = new abstractclass();
};
var abstractclassC = function() {
    var parent = new abstractclass();
};
var instance1 = new abstractclassA();
var instance2 = new abstractclassB();
var instance3 = new abstractclassC();

有没有更好的方法?

谢谢

如果您可以使用像 underscorejs 这样的库,它们有一个扩展函数,我认为它会做你想要的。如果没有,那么你可以看看它的注释源,看看他们是如何实现它的。最后,骨干的对象做一些与你所寻求的非常相似的事情。因此,您还可以查看其注释源

通常我这样做:

var abstractClass = function(){
};
var classB = function(){
};
classB.prototype = new abstractClass();

这样,类 B 的实例也将作为 abstractClass 的实例