父类引用指向子类对象有什么用

希望能简单明了,不要copy一些忽悠我吖,谢了

目的是解耦。

将对细节的依赖转为对抽象的依赖。

通俗点就是从前通过父类的引用实现了某功能,现在由于业务发展,需要对功能进行拓展或修改,实际表现就是要跟换改功能具体的实现类。

换到这里父类引用指向子类对象可以拆分为两层:父类对象与实际子类相关联,调用父类对象实现功能。

当发生业务变更的时候,只需要修改父类对象与实际子类相关联的业务逻辑层,而不需要更改调用父类对象实现的接口调用层。

解除耦合的好处是,避免了牵一发而动全身的现象,极大简化了业务更新迭代过程中,所需要修改的代码量。

参考链接:网页链接

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-05
用过list吧
Collection list = new ArrayList(); // 指向list的方法 可重复 有序
Collection set = new HashSet(); // 指向set 不可重复 没有顺序
主要实现动态链接。意思就是父类指向哪个子类调用的就是子类中重写过父类中的方法。
一下可以参考qiyue360的说法。主要就是灵活,易扩展
要实现动态链接,必须要有继承,方法重写和父类引用指向之类对象。追问

有没有深层次点的作用,这些基本的我都懂的

追答

就通用,易扩展 面向对象的核心机制也就多态了。明白为什么定义抽象类和接口基本的就可以了,高层次我也不懂得,抱歉啊。

本回答被提问者采纳
第2个回答  2011-12-15
多态啊 这么说吧 假如有个类叫做音乐家 他有个方法叫演奏 如果子类(钢琴家)重写他的演奏方法 叫做演奏钢琴 那么它就可以演奏钢琴了 子类(小提琴家)重写方法即为演奏(小提琴)以此类推
第3个回答  2011-12-14
代表运用的是子类的对象,因为一个父类可能有多个子类,并且每个子类都可以把父类的方法重新实现,也有可能实现的方法不一样。这样指向就代表:实现的是一个确切的子类的方法;
相似回答