我是面向对象编程技术的新手,据我所知,耦合是创建可维护,可重用代码的最大障碍.
当我们从基类继承几个子类时,子类是否变得依赖于基类?如果我必须在以后删除基类怎么办?这不会打破子类中的代码吗?
父类与其子类之间的关系称为子类依赖或实现依赖。与其他类型的依赖关系一样,实现依赖关系会在两个类之间产生一些耦合。请记住,架构中的类之间的耦合必须最小化。
正如设计模式一书中所述,减少这种耦合的唯一方法是使用以下原则:
对接口进行编程,而不是对实现进行编程。
那么,如果必须使用继承,最好的方法是使用抽象类作为父类,并让子类仅重写抽象方法。
在具体类之间使用继承也称为白盒代码重用。
父类通常至少定义其子类的物理表示的一部分。由于继承将子类暴露给其父类的实现细节,因此人们常说“继承破坏了封装”。
然后,使用黑盒代码重用,即对象组合,它不会破坏封装并最大限度地减少子类化耦合。
归档时间: |
|
查看次数: |
2156 次 |
最近记录: |