document.write('

 解析:

1.继承
(1)原型继承法。
function parentClass(){
 //private fIEld
 var x = "I\'m a parentClass fIEld!";
 //private method
 function method1() {
 alert(x);
 alert("I\'m a parentClass method!");
 }
 // public fIEld
 this.x = "I\'m a parentClass object fIEld!";
 // public method
 this.method1 = function() {
 alert(x);
 alert(this.x);
 method1();
 }
}
parentClass.prototype.method = function () {
 alert("I\'m a parentClass prototype method!");
}
parentClass.staticMethod = function () {
 alert("I\'m a parentClass static method!");
}
(2)调用继承法。
function parentClass() {
 // private fIEld
var x = "I\'m a parentClass fIEld!";
 // private method
 function method1() {
 alert(x);
 alert("I\'m a parentClass method!");
 }
 // public fIEld
 this.x = "I\'m a parentClass object fIEld!";
 // public method
 this.method1 = function() {
 alert(x);
 alert(this.x);
 method1();
 }
}
parentClass.prototype.method = function () {
 alert("I\'m a parentClass prototype method!");
}
parentClass.staticMethod = function () {
 alert("I\'m a parentClass static method!");
}
2.多态
(1)重载。
function add(){
 var sum=0;
 for(var i=0;i<arguments.length;i++){
 sum+=arguments[i];
 }
 return sum;
}
(2)覆盖。
function parentClass() {
 this.method = function() {
 alert("parentClass method");
 }
}
function subClass() {
 this.method = function() {
 alert("subClass method");
 }
}
subClass.prototype = new parentClass();
subClass.prototype.constructor = subClass;
var o = new subClass();
o.method(); 
');