我一直在制作多个库和扩展库,使用原型对我来说不实用,因为在现实世界中,您实际上有私有变量不需要从实例化对象访问。JavaScript:通过原型继承,无需使用原型来定义/调用方法
var parent_class = function(num) {
var number = num;
this.method = function(anum) {
number += anum;
};
this.getNumber = function() {
var fnumber = number + 2;
return fnumber;
};
};
var child_class = function(num1, num2) {
var sum = num1 + num2;
parent_class.call(this, sum); // initialize parent class
this.method = function() {
sum -= 1;
base.method(sum); // what to do here
};
};
child_class.prototype = new parent_class(); // inherit from parent
child_class.prototype.constructor = child_class; // maintain new constructor
var c = new child_class(1, 4); // child_class.sum = 5, parent_class.number = 5
c.method(); // child_class.sum = 4, parent_class.number = 9
var num = c.getNumber(); // returns 11
如今,不宣而依靠被原型方法,我怎么能得到what to do here
线工作?我知道我可以在child_class中调用this.method();
并将其作为变量存储,但我想覆盖方法。
我之前的话题并不是非常即兴,因为每个人都认为我可以对所有东西进行原型设计或使用私有变量来解决问题。没有原型就必须有一种方法来做到这一点。
我想打电话从child_class
实例内.method();
而不存储以前.method();
为私有变量或使用,出于显而易见的原因,不能访问私有成员原型方法。
我不明白这个问题..你想达到什么目的? – c69
我把它放在漂亮的粗体字体中。 –