JavaScript中的面向对象----继承
2008-10-19 22:50
316 查看
1、对象冒充
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod;
this.name = sName;
this.sayName = function(){
alert(this.name);
}
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
2、call方法
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
// this.newMethod = ClassA;
// this.newMethod(sColor);
// delete this.newMethod;
ClassA.call(this,sColor);
this.name = sName;
this.sayName = function(){
alert(this.name);
}
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
3、apply方法
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
// this.newMethod = ClassA;
// this.newMethod(sColor);
// delete this.newMethod;
ClassA.apply(this,new Array(sColor));
this.name = sName;
this.sayName = function(){
alert(this.name);
}
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
4、原型链方法
function ClassA(){
}
ClassA.prototype.color = "color";
ClassA.prototype.sayColor = function(){
alert(this.color);
}
function ClassB(){
}
ClassB.prototype = new ClassA();
ClassB.prototype.name = "name";
ClassB.prototype.sayName = function(){
alert(this.name);
}
var objB = new ClassB();
objB.color = "color of objB";
objB.name = "name of objB";
objB.sayColor();
5、混合方式
function ClassA(sColor){
this.color = sColor;
}
ClassA.prototype.sayColor = function(){
alert(this.color);
}
function ClassB(sColor,sName){
ClassA.call(this,sColor);
this.name = sName;
}
ClassB.prototype = new ClassA();
ClassB.prototype.sayName = function(){
alert(this.name);
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod;
this.name = sName;
this.sayName = function(){
alert(this.name);
}
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
2、call方法
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
// this.newMethod = ClassA;
// this.newMethod(sColor);
// delete this.newMethod;
ClassA.call(this,sColor);
this.name = sName;
this.sayName = function(){
alert(this.name);
}
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
3、apply方法
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
// this.newMethod = ClassA;
// this.newMethod(sColor);
// delete this.newMethod;
ClassA.apply(this,new Array(sColor));
this.name = sName;
this.sayName = function(){
alert(this.name);
}
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
4、原型链方法
function ClassA(){
}
ClassA.prototype.color = "color";
ClassA.prototype.sayColor = function(){
alert(this.color);
}
function ClassB(){
}
ClassB.prototype = new ClassA();
ClassB.prototype.name = "name";
ClassB.prototype.sayName = function(){
alert(this.name);
}
var objB = new ClassB();
objB.color = "color of objB";
objB.name = "name of objB";
objB.sayColor();
5、混合方式
function ClassA(sColor){
this.color = sColor;
}
ClassA.prototype.sayColor = function(){
alert(this.color);
}
function ClassB(sColor,sName){
ClassA.call(this,sColor);
this.name = sName;
}
ClassB.prototype = new ClassA();
ClassB.prototype.sayName = function(){
alert(this.name);
}
var objB = new ClassB("color of objB","name of objB");
objB.sayColor();
相关文章推荐
- Javascript 面向对象 继承
- Javascript 面向对象 继承
- 韩顺平 javascript教学视频_学习笔记19_js面向对象三大特征(封装,继承,多态)
- javaScript面向对象继承方法经典实现
- JavaScript高级程序设计之面向对象的程序设计之继承之寄生组合式继承第6.3.6讲笔记
- 学习javascript面向对象 javascript实现继承的方式
- 面向对象的JavaScript 四 ----- Javascript实现继承的方式(1)
- 面向对象的JavaScript 五 ----- Javascript实现继承的方式(2)
- JavaScript的相关继承笔记以及使用外部库实现JavaScript的面向对象特性
- JavaScript面向对象的方法实现继承:call方法
- Javascript面向对象之四 继承
- js面向对象、原型及继承(javaScript高级程序设计第3版)
- Javascript面向对象之非构造函数的继承
- javaScript面向对象-继承
- 从面试题学习Javascript——面向对象(继承)
- JavaScript面向对象的程序常用的继承方式有哪些?
- 面向对象的Javascript(5):继承
- javaScript面向对象继承方法实现
- Javascript面向对象—继承
- JavaScript面向对象之Prototypes和继承