我试图用继承的原型(prototype)方式在JavaScript中实现一些基本的OOP。但是,我找不到从基类继承静态成员(方法)的方法。
我们可以使用prototype来模拟基本的类模型:
SomeClass = function(){
var private_members;
this.public_method = function(){
//some instance stuff..
};
};
Class.static_method = function(){
//some static stuff;
};
//Inheritance
SubClass = function(){ //sub-class definition };
SubClass.prototype = new Class();
但是,SubClass
不会从 Class
继承 static_method
。
最佳答案
在经典(OO)继承模式中,静态方法实际上并没有被继承。因此,如果您有一个静态方法,为什么不在需要时调用:SuperClass.static_method()
,JavaScript 不需要保留额外的引用或同一方法的副本。
您还可以阅读此JavaScript Override Patterns更好地理解如何在 JavaScript 中实现继承。
关于javascript - JavaScript中如何从基类继承静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5441508/