zoukankan      html  css  js  c++  java
  • 面向对象的理解

    面向对象的三大特性

    封装

    继承

    多态

    面向对象的七大原则

    单一职责原则:每一个类应该专注于做一件事情。即高内聚,低耦合。类的功能要单一,体积不要过于庞大。

    开闭原则:一个对象对扩展开发,对修改关闭。即:对类的改动是通过增加代码进行的,而不是修改现有代码。一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。比如:一个网络模块,原来只提供服务端功能,而现在要加入客户端功能,name应当在不用修改服务端功能的代码前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

    里氏替换原则:在任何父类出现的地方都可以用它的子类来替代。子类应当可以替换父类并出现父类能够出现的任何地方。比如,公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则公司就不和谐了。

    依赖倒置原则:要依赖于抽象,不要依赖于具体实现。

    接口隔离原则:应当为客户提供尽可能小的单独的接口,而不是提供大的总的接口。接口的定义的标准尽可能单一,致力于对接口的多实现。接口规模不要臃肿。

    迪米特原则:一个对象应当尽量少的与其他对象之间发生相互作用,是得系统功能模块相对独立。降低耦合

    组合/聚合复用原则:尽量使用组合/聚合的方式,而不是使用继承。降低耦合度

    简单来说:软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。有软硬件的耦合,还有软件各模块之间的耦合。

    总的来说:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:

    如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。

  • 相关阅读:
    文学、哲学段子
    文学、哲学段子
    js技术要点---JS 获取网页源代码
    泛型类,泛型方法,泛型委托的定义方法
    数组元素的逆序数
    stm32 ARM中的RO、RW和ZI DATA
    poj 3040 Allowance 贪心
    schedule()函数的调用时机(周期性调度)
    以JTextPanel为例Swing的鼠标事件详解
    实习生面试总结
  • 原文地址:https://www.cnblogs.com/miss103/p/13231687.html
Copyright © 2011-2022 走看看