首先,我以咖啡脚本网站上的动物为例。
我想用javascript模拟接下来的事情:
- 课程
- 仅限公共方法
- 仅私有方法和变量
- 遗产
- 从超类调用方法
我认为这种创建方式是可以的,但是当我尝试move
从父类获取方法时,它总是返回到自身。我做错了什么?
顺便提一句。哪些是实现我的目标的最佳实践?我在做什么对吗?
var Animal = (function() {
function Animal() {}
var _private = {};
var _public = {
move: function() {
console.log('Can move');
}
};
Animal.prototype = _public;
Animal.prototype.constructor = Animal;
return Animal;
})();
var Snake = (function(_super) {
function Snake() {}
var _private = {};
var _public = {
move: function() {
console.log(Snake._super_.move);
console.log('Slithering');
}
};
Snake.prototype = _super.prototype;
Snake._super_ = _super.prototype;
for(var method in _public) {
if(Object.prototype.toString.call(_public[method]) === '[object Function]') {
Snake.prototype[method] = _public[method];
}
}
return Snake;
})(Animal);
var s = new Snake;
s.move();