<mce:script language=javascript><!-- //注册命名空间 Type.registerNamespace("Demo"); Demo.Message=function(content,publishTime) { this._content = content; this._publishTime = publishTime; } Demo.Message.prototype= { get_content: function() { return this._content; }, get_publishTime: function() { return this._publishTime.format("yyyy-MM-dd HH:mm:ss"); }, toString: function() { return this.get_content() + " " + this.get_publishTime(); } } //注册类 Demo.Message.registerClass("Demo.Message"); Demo.IContent=function() { } Demo.IContent.prototype { showContent:function() {} } //注册接口 Demo.IContent.registerInterface("Demo.IContent"); Demo.MessageWithUserId = function(userId, content, publishTime) { Demo.MessageWithUserId.initializeBase(this, [content, publishTime]); this._userId = userId; } // 定义Demo命名空间下的MessageWithUserId类的方法 Demo.MessageWithUserId.prototype = { get_userId: function() { return this._userId; }, showContent: function() { return Demo.MessageWithUserId.callBaseMethod(this, 'get_content') }, // callBaseMethod用于调用基类的方法 toString: function() { return this.get_userId() + " " + Demo.MessageWithUserId.callBaseMethod(this, 'toString'); } } // 注册一个继承自Demo.Message类和Demo.IContent接口的类 Demo.MessageWithUserId.registerClass('Demo.MessageWithUserId', Demo.Message, Demo.IContent); function Test() { var d=new Date(); var msgWithId=new Demo.MessageWithUserId(1,"你个大傻",d); alert( Demo.IContent.isImplementedBy(msgWithId)); alert(msgWithId.toString()); alert(msgWithId.showContent()); } // --></mce:script>