黑马程序员技术交流社区

标题: 关于函数的多态特性 [打印本页]

作者: 袁杰    时间: 2013-6-10 15:34
标题: 关于函数的多态特性
当一个类去继承另一个类,或者是去实现某一个接口时,对于父类或父接口中的成员变量,在子类中不存在覆盖,这是什么意思,还有这是为什么啊?
作者: 张歆明    时间: 2013-6-10 17:58
**********************
当一个类去继承另一个类,或者是去实现某一个接口时,对于父类或父接口中的成员变量,在子类中不存在覆盖,这是什么意思,还有这是为什么啊?
*********************
其实  语义上理解最好
不管是接口 还是基类   相对于子类  都是父亲级别的 之所以 一个是实现implements 一个是继承 extends 在于一个里面都是抽象方法  一个不是(抽象类除外)
所以  都理解为继承就OK
一个人 继承了  家里的产业  你说  能覆盖么?  覆盖了  就没办法找到集成的东西了啊
继承的目的 不就是 复用么  
人也一样啊  继承祖业 不就是 我在上面接着做 不用白手起家么  我觉得  这样理解最好  那么 成员变量就是 人从祖业上继承下来的资产
那么  为什么 出现覆盖呢 我觉得
比如  对于一个人从父辈那里继承了100000000元钱   是不是这个人和父辈都有 生活 这个动作啊?  
父辈的生活的动作就是:用这些钱   每日三餐 没别的了
这个人呢  觉得这样生活不好 枯燥乏味  不喜欢  重新定义了自己的生活的动作: 早上起来  跑步  在三餐  完事 再散步

所以 方法出来  是可以覆盖的
但是 继承来的资产  不能被覆盖  我觉得可以这么理解
作者: 燃灯街    时间: 2013-6-10 22:04
你好,我谈一下我的理解:覆盖的目的首先你要明确,就是为了根据自己的意愿优化或者改进性能,覆盖成员变量,好像没有什么意义啊,你在子类中定义相同的变量时那个就是子类的,父类的还是父类的,
作者: luckwei    时间: 2013-6-11 08:20
其实,子类就不存在覆盖的,覆盖只是 与方法,而且方法也不叫覆盖,父类的方法还是存在,只是对你来说只能看到子类的方法,这就是多态性么。对于父类的成员变量,应该叫做隐藏,子类可以定义自己的成员变量,但是利用多态性编译运行的是父类的成员变量。
作者: 袁梦希    时间: 2013-6-11 08:57
新人加油   大家答的都挺好的{:soso_e100:}
作者: 袁梦希    时间: 2013-6-11 08:57
加油    有问题可以继续追问   
作者: 袁梦希    时间: 2013-6-12 19:14
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2