黑马程序员技术交流社区

标题: 关于耦合性的问题 [打印本页]

作者: 张晓珊    时间: 2015-5-26 20:43
标题: 关于耦合性的问题
        面向对象的三大特征,封装,继承和多态。在继承的好处是抽取了重复代码,建立了类之间的联系,但是继承的坏处是耦合性太强,即子类对父类的依赖性太强。
       但是面向对象的思想就是尽可能用类来解决问题,基本上我们用到的类大部分都是继承了父类,他的父类又继承了自己的父类,以此类推,往上会有很多的父类,那么这样看来耦合性不是太强,是非常强啊。那么关于继承和耦合性之间的平衡有什么技巧吗?什么情况下我们可以放心的用继承,什么情况下需要注意耦合性呢?

作者: 蜡笔小炎    时间: 2015-5-26 20:49
OC才接触不久,弱弱的问一句,什么是耦合性?:D
作者: 张晓珊    时间: 2015-5-26 21:02
蜡笔小炎 发表于 2015-5-26 20:49
OC才接触不久,弱弱的问一句,什么是耦合性?

我上边不是说了么,耦合性就行两个类之间的相互依赖性太强。比如两个类:一个学生类,一个人类,学生继承了人,当有一天你的人这个类出问题了不能用了,那么你下边的学生类会因为人类的错误也不能用了,这个就是耦合性。
作者: 蜡笔小炎    时间: 2015-5-26 21:11
张晓珊 发表于 2015-5-26 21:02
我上边不是说了么,耦合性就行两个类之间的相互依赖性太强。比如两个类:一个学生类,一个人类,学生继承 ...

哦~~~~~~~这个意思啊
作者: XiaoBaoMi    时间: 2015-5-27 07:53
有ARC就不用注意了
作者: 张晓珊    时间: 2015-5-27 13:17
XiaoBaoMi 发表于 2015-5-27 07:53
有ARC就不用注意了

同学你知识搞混了吧?ARC是内存管理,耦合性是程序质量的好坏。两个没有关系吧?
作者: XiaoBaoMi    时间: 2015-6-15 22:02
你再想想
作者: 晗修    时间: 2015-6-15 22:31
不需要纠结这个 既然用了继承 说明父类的属性必然是子类所必须有或者大概率有的 完全没有必要考虑解耦的事情;
应该考虑的是如何从子类中抽象出一个合格的父类——在能够继承的同时还能够形成多态 而不是 除了这个子类就不能是其他子类的父类了;

如果可以完全解耦的情况下 那就用协议而不需要用继承。
作者: zilin    时间: 2015-6-15 22:38
可以子类多增加一些自己的特性,这样继承下去每一代的耦合性都会改变。个人愚见。




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