本文实例讲述了javascript基于prototype实现类似OOP继承的方法。分享给大家供大家参考,具体如下:
这里要说明的是,公有属性(使用this.修饰符)可以被覆盖,私有属性(使用var 修饰符)不能被覆盖
子类不能访问父类的私有属性,父类的方法正常访问父类的私有变量。
rush:js;">
function vegetable(){
this.taste='delicIoUs';
var a = 'I\'m vegetable\'a!'
this.fun1 = function(){
alert('vegetable fun1 doing...');
}
this.fun3 = function(){
alert(a);
}
}
function Celery(){
var a = 'I\'m Celery\' a';
this.color = 'green';
this.taste = 'bad';
this.fun1a = function(){
alert('Celeryfun1 doing...');
}
this.fun2 = function(){
alert('Celery fun2 doing...');
}
this.fun4 = function(){
alert(a);
}
}
Celery.prototype = new vegetable();
var stick = new Celery();
var polymorphed = stick.taste;
//alert(polymorphed);
//alert(stick.color);
//stick.fun1();
//stick.fun2();
//stick.fun3();
stick.fun4();
希望本文所述对大家JavaScript程序设计有所帮助。