zoukankan      html  css  js  c++  java
  • 面向对象为什么要多用对象模式而少用继承模式?

    进来学习java的时候遇到了一些经验说多用对象模式,少用继承模式。如今写一点感想。

    面向对象的对象之间的哦和方式有继承,实现。关联,依赖,聚合和组合。当中的继承和实现是继承这类模式。

    说道的一个原因就是代码污染。

    比如一个父类很复杂。而一个继承了这个类的子类可能重写了一部分的方法。可是继承了所有的方法。用户在使用继承的子类的时候可能会调用没有重写的父类的方法而且假设这样的方法是在子类的设计者的意图之外的操作。那么子类在继承父类的时候,能够觉得不光是继承到了实用的功能。还继承到了垃圾功能。父类的代码污染到了子类的代码。

    假设採用组合的方法。子类不再继承父类。而採用关联或者聚合的方式进行耦合。这样会产生什么样的情况呢?我们首先假设原来的父类的设计是完好合理的。用户不管怎么訪问父类,其结果都在父类的设计者的意料之内。如今,子类通过随意的方式使用父类的功能去完毕一个新的功能。仅仅要保证子类设计的合理,那么不会额外的须要子类的设计者去关心用户訪问子类对象的父类的非重写的方法而产生意外。

    总结一下,就是继承这样的方式的耦合额外的引入了不须要的功能。因此,添加了子类设计者的关注点和风险。

    使用关联的方式实现耦合,仅仅要保证父类设计合理。子类设计合理,就不会对子类的设计者提出额外的须要。


    本文參考:

    http://blog.csdn.net/hivon/article/details/583558


查看全文
  • 相关阅读:
    js 百度地图和谷歌地图的选择
    angular4 自定义表单验证Validator
    推荐20个很有帮助的 Web 前端开发教程
    前端同学大福利,最全的面试题目整理
    前端开发:如何写一手漂亮的 Vue
    推荐20个很有帮助的 Web 前端开发教程
    面试分享:一年经验初探阿里巴巴前端社招
    想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发
    初学者Web介绍一些前端开发中的基本概念用到的技术
    Web设计新手应知道的10个锦囊妙计
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10557275.html
  • Copyright © 2011-2022 走看看