我试图在父对象中有私有变量时实现原型继承。
考虑这样的代码,
function Piece(isLiveArg) {
var isLive = isLiveArg; // I dont wish to make this field as public. I want it to be private.
this.isLive = function(){ return isLive;}
}
Piece.prototype.isLive = function () { return this.isLive(); }
function Pawn(isLiveArg) {
// Overriding takes place by below assignment, and getPoints got vanished after this assignment.
Pawn.prototype = new Piece(isLiveArg);
}
Pawn.prototype.getPoints = function(){
return 1;
}
var p = new Pawn(true);
console.log("Pawn live status : " + p.isLive());
但是,isLive
父对象上不存在私有变量,只有公共变量存在,那么继承可以很容易地实现这一点。就像这个链接一样,http://jsfiddle.net/tCTGD/3/。
那么,当父对象中有私有变量时,我将如何实现相同的原型继承。