`

javascript多重继承小例子(zInherit工具)

阅读更多
function ClassX(){

	this.messageX = "This is the X message. ";
	
	if(typeof ClassX._initialized == "undefined"){
	
		ClassX.prototype.sayMessageX = function(){
		
			alert(this.messageX);
		};
		
		ClassX._initialized = true;
	}
}

function ClassY(){

	this.messageY = "This is the Y message. ";
	
	if(typeof ClassY._initialized == "undefined"){
	
		ClassY.prototype.sayMessageY = function(){
		
			alert(this.messageY);
		};
		
		ClassY._initialized = true;
	}
}

function ClassZ(){

	ClassX.apply(this);
	ClassY.apply(this);
	this.messageZ = "This is the Z message. ";
	
	if(typeof ClassZ._initialized == "undefined"){
	
		// 使用zinherit工具包中的inheritFrom方法,实现多重继承,inferitFrom只会修改prototype的状态,而不会重新赋值
		ClassZ.prototype.inheritFrom(ClassX);
		ClassZ.prototype.inheritFrom(ClassY);
		
		ClassZ.prototype.sayMessageZ = function(){
		
			alert(this.messageZ);
		};
		
		ClassZ._initialized = true;	
	}
}

function myload(){
	alert("cc");
	var objZ = new ClassZ();
	objZ.sayMessageX();
	objZ.sayMessageY();
	objZ.sayMessageZ();
}



zinherit简单的实现了多重继承,但使用inheritFrom后,objZ instanceof ClassY是无效的代码,因为这种方法根本不使用原型链,当然zinherit提供instanceOf方法来解决这个问题
objZ.instanceOf(ClassY);                  //  return true


但更加复杂的继承操作,zinherit将无法完成,比如:父类的调用,方法重载等,但很明显,zinherit的使用很方便,也很简单
分享到:
评论

相关推荐

    js javascript zInherit 对象 继承

    js javascript zInherit 对象 继承

    zinherit.js

    zinherit JavaScript zinherit JavaScript zinherit JavaScript zinherit JavaScript zinherit JavaScript zinherit JavaScript zinherit JavaScript zinherit JavaScript

    javascript100个小例子

    这个是100个javascript小例子 各种效果 操作表单页面等小例子 很有用 项目中直接copy就可以用 同样学习javascript的更合适用这些来学习

    浅析Javascript原型继承

    浅析Javascript原型继承,浅析Javascript原型继承

    300个JavaScript小例子

    300个JavaScript小例子300个JavaScript小例子300个JavaScript小例子

    javascript 倒计时小例子

    javascript 倒计时小例子,已做成对象,可直接使用

    JavaScript继承

    在JavaScript中继承是一个非常复杂的话题,比其他任何面向对象的语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。与它们不同,在JavaScript中要想达到传承公用成员的目的,...

    javascript 注册小例子

    javaweb 注册小列子 ,javascript前段验证,

    经典的JavaScript小例子

    非常好的小例子,会给你的网站带来意想不到的效果

    最新300个JavaScript小例子

    最新300个JavaScript小例 很多例子哦

    javascript 小例子

    自己总结的一些Javascript的Demo 1.表格隔行变色_焦点着色(高级) 2.多物体运动(整合) 3.高级运动(微博) 4.缓冲运动(右侧对联) 5.表格隔行变色_焦点着色(高级) 等等 代码不足之处,请多多指教

    JavaScript实现多重继承的方法分析

    本文实例讲述了JavaScript实现多重继承的方法。分享给大家供大家参考,具体如下: 1. 定义一个空的父类构造函数,然后通过prototype的方式为该父类定义属性和方法 2. 定义一个空的子类的构造函数,然后将子类的原型...

    javascript入门实用例子

    javascript入门实用例子,是web工程,可以用eclipse直接导入,非常实用。

    Javascript 继承实现例子

    在真正的Web站点和应用程序中,几乎不可能创建名为ClassA和ClassB的类,更可能的是创建表示特定事物(如形状)的类。考虑本章开头所述的形状的例子,Polygon、Triangle和Rectangle类就构成了一组很好的探讨数据。

    zinherit 库

    zinherit库(<script type="text/javascript" src="zinherit.js">)

    javascript写的图表工具 原码和例子

    javascript写的图表工具 原码和例子javascript写的图表工具 原码和例子javascript写的图表工具 原码和例子javascript写的图表工具 原码和例子javascript写的图表工具 原码和例子javascript写的图表工具 原码和例子

    JavaScript基础知识例子

    JavaScript基础知识例子.zipJavaScript基础知识例子.zip

    理解Javascript原型继承原理

    理解Javascript原型继承原理

    javascript经典小例子.doc

    javascript经典小例子

    JavaScript 小例子

    JavaScript 使用小技巧练习,可以借鉴

Global site tag (gtag.js) - Google Analytics