JS中仿类继承时,处理多态时遇到的问题

warmworm 2009-02-14 11:02:42
-_-`新手,对JS不太熟悉,在网上找了个仿类继承的例子
但在实现多态时有点问题.如下:
function CBaseClass()
{
this.foo = function(){ alert( 'this is baseclass foo' ); };
this.foo1 = function() { alert( ' this is baseclass foo1' ); };
}

function CSubClass()
{
this.super = CBaseClass;
this.super();

this.foo() = function()
{
//this.super.foo();//本意是想先调用父类的函数,再处理本类的函数,但出错了
alert( 'this is subclass foo' );
}
}

function main()
{
var obj = new CSubclass();
obj.foo();//调用了子类的foo
obj.foo1();//调用了父类的foo1
}

------------------

究竟要怎么样才能调用到CBaseClass中的foo
有哪位达人可以讲解一下上述程序的内部处理机制
或者也可以说一下有哪些资料中讲到这些处理机制也行
prototype好象可以实现类,不过暂时不想去弄*^o^*
...全文
51 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
warmworm 2009-02-18
  • 打赏
  • 举报
回复
-_-~

看来对JS人员来说
这个问题有点深了
warmworm 2009-02-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xinyung 的回复:]
JScript codefunction CBaseClass()
{
this.foo = function(){ alert( 'this is baseclass foo' ); };
this.foo1 = function() { alert( ' this is baseclass foo1' ); };
}

function CSubClass()
{
this.sup = new CBaseClass();
// this.super();

this.foo() = function()
{
this.sup.foo();//调用父类的函数,再处理本类的函数
alert( 'this is subclass…
[/Quote]

这里使用了类聚合 而不是类继承,和我所想功能有点差别
虽然微软提倡使用类聚合,不使用类继承,
为了不反复输入 -->this.foo1=this.sup.foo1;(也许一个类里有几十个函数接口)
还是想看看JS里类继承是怎么实现的
warmworm 2009-02-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 JK_10000 的回复:]
this.foo() = function()
-->>
this.foo = function()
[/Quote]

不好意思,打错了

JK_10000 2009-02-15
  • 打赏
  • 举报
回复
this.foo() = function()
-->>
this.foo = function()
xinyung 2009-02-14
  • 打赏
  • 举报
回复
function CBaseClass() 
{
this.foo = function(){ alert( 'this is baseclass foo' ); };
this.foo1 = function() { alert( ' this is baseclass foo1' ); };
}

function CSubClass()
{
this.sup = new CBaseClass();
// this.super();

this.foo() = function()
{
this.sup.foo();//调用父类的函数,再处理本类的函数
alert( 'this is subclass foo' );
}
this.foo1=this.sup.foo1;
}

function main()
{
var obj = new CSubclass();
obj.foo();//调用了子类的foo
obj.foo1();//调用了父类的foo1
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧