A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李会启 中级黑马   /  2012-2-29 12:24  /  2681 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态中成员函数与成员变量有什么特点,大家给我说说呗,{:soso_e112:}

评分

参与人数 1黑马币 +3 收起 理由
老罗 + 3

查看全部评分

4 个回复

倒序浏览
  多态中成员函数的特点:
  是在编译时期:参阅引用型变量所属的类中是否有调用的方法,
如果有,编译通过,如果没有,编译失败,
  在运行期间;参阅对象所属类中是否有调用的方法。
  简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
  在多态中,成员变量的特点:   无论编译和运行,都参考左边(引用类型变量所属的类)。
  在多态中,静态成员函数的特点;
  无论编译和运行,都参考左边(引用类型变量所属的类)。
  Fu f= new zi();
  f(左边).method(右边)4();。

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2

查看全部评分

回复 使用道具 举报
套用老师的话。多态成员函数的特点:在编译时,看左边,运行看右边。 多态成员变量无论在编译和运行,都参考左边,跟静态成员变量一样的。
在老师的视频上面有很详细的。好好看视频哦,哈哈哈

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
三。好处:
预先定义的程序可以运行后期程序的内容。
增强了程序的扩展性。

四。弊端:
虽然可以预先使用,但是只能访问父类中已有的功能,运行的是后期子类的功能内容。
不能预先使用子类中定义的特有功能。

五。多态的注意事项:
在代码中:
对于成员函数:Fu f = new Zi(); f.method();
编译时期:看左边。
运行时期:看右边。
因为成员函数有一个覆盖操作。

对于非私有的实例变量,
静态变量,静态方法。
编译和运行都看左边。

参看毕老师的java基础视频,讲解的很清楚的

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2

查看全部评分

回复 使用道具 举报
1)类的定义:function Circle(r) { this.r = r; }
类的实例化: c = Circle(3);
2)成员变量在初始化函数里申明:this.r = r;
注意,在对象生成后,你也可以给它附上成员变量
3)成员函数的标准形式是这样的:
Cricle.prototype.area = function() { return 3.14 * this.r * this.r; }
4)类变量
类变量是属于一个类的变量。就像java里用static修饰的变量。因为它属于类,所以它也应该是一个常量。实例不应该去修改它,虽然你可以(java里可以用final修饰,使得类变量一旦定义,就不能修改)。这里可以看到,类变量和prototype里定义的变量的功能是相似的。确实如此,他们的目的都是一样的。但他们的访问方式


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马