面向对象的好处

使用面向对象思想进行开发有以下优点:
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

面向对象设计的原则

SRP 单一职责原则
        就一个类而言,应该仅有一个引起它变化的原因。

OCP 开放————封闭原则
        软件实体(类、模块、函数等)应该是可以开展的,但是不可修改。
        
        LSP Liskov 替换原则

子类型必须能够替换掉它们的父类型。

DIP 依赖倒置原则
        抽象不应该依赖于细节。细节应该依赖于抽象。

ISP 接口隔离原则
        不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。

REP 重用发布等价原则
        重用的粒度就是发布的粒度

CCP 共同封闭原则
        包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。

CRP 共同重用原则
        一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。

ADP 无环依赖原则
        在包的依赖关系图中不允许存在环。

SDP 稳定依赖原则
        朝着稳定的方向进行依赖

SAP 稳定抽象原则
        包的抽象程度应该和其稳定程度一致。

时间: 2024-08-18 06:45:19

面向对象的好处的相关文章

简说面向过程与面向对象

昨天白天,因为在室外活动,无事可做,所以我思考了一天,在想怎么才能比较清晰的向人解释这两个概念.所以我对这两个概念的字面意思做了一下详细的解释.没想到,这可能真的会帮助我们非常简单的理解这两个概念. 面向:从字面上理解面向,就是我们的脸对着的地方,引申为我们能看到. 过程: 过程是事物从开始,到发展,到结束的整个经历 那么面向过程就是:我们能看到, 一个事物从 开始->发展->结束. 这对于我们写程序的人来说,可能会有感触,因为一开始我们写程序时.都是按照事件的发展.去安排计算机,一步一步的做

心得 : 面向对象和面向过程的区别

面向对象:用线性的思维.与面向过程相辅相成.在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统.微观上,仍然使用面向过程. "面向过程"是一种是事件为中心的编程思想.就是分析出解决问题所需的步骤,然后用函数把这写步骤实现,并按顺序调用. "面向对象"是以"对象"为中心的编程思想. 简单的举个例子:汽车发动.汽车到站.汽车启动是一个事件,汽车到站是另一个事件,面向过程编程的过程中我们关心的是事件,而不是汽车本身.针对上述两个事件,

从活字印刷术的角度理解面向对象编程

<大话设计模式>开头从活字印刷术的例子讨论面向对象的好处,个人觉得非常形象.活字印刷术主要体现了面向对象的如下几点: 1. 可维护:修改的话只需要修改某一个字: 2. 可复用:别的字可以重新拿来用: 3. 可扩展:如果要加字,只需要刻新字: 4. 灵活性好:横排竖排都可以. 通过封装.继承.多态把程序的耦合度降低,传统印刷术的问题就在于把所有的字都刻在同一版面上造成耦合度太高所致,用设计模式是的程序更加的灵活,容易修改,并且易于复用.

面向对象的总结

面向对象的总结: 什么叫面向对象:把数据及对数据的操作方法放在一起,作为一个相互依存的整体--对象. 面向对象的好处:基于对象的编程更符合人的思维模式,使人们更容易编写程序. 第一,封装性 第二,继承性 第三,多态 什么叫做类:对同类对象抽象出其共性,形成类. 面向对象的三大特性: 封装:封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式 封装的原则:1.将不需要对外提供的内容隐藏起来 2.对外提供公共的访问方式 ,getXXX(访问器) setXXX(修改器) 继承: 多态: 一类事

面向对象 概念理解

以下是在阅读<大话设计模式>的时候,感觉其中面向对象基础模块,讲解的通俗易懂的概念,提炼出来的概念. 2016-01-05 23:56:22 对象: 对象是一个自包含的实体,用一组可识别的特性和行为来标识 类: 就是具有相同的属性和功能的对象的抽象的集合 实例: 就是一个真实的对象 实例化: 就是创建对象的过程,使用new 关键字 构造方法(构造函数): 其实就是对类进行初始化,构造方法与类同名,没有返回值,也不需要void,在new时候调用 方法重载: 提供了创建同名的多个方法的能力,但这些

GO语言的进阶之路-面向对象编程

GO语言的进阶之路-面向对象编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 当你看完这篇文章之时,我可以说你的Golang算是入门了,何为入门?就是你去看Docker 源码能看懂60%的语法结构,因为涉及一些unix的代码可能没有Linux运维基础的同学在学习的时候会很吃力,看起来也会带来一定的难度,如果有时间的话我会给大家解析Docker部门精辟的源码.好了,回归正题吧,我们今天要学习的内容是什么呢?即面向对象编程.当然,不要用屌丝的心态来说:"那要是没对象的还咋编程呢

面向过程编程、面向对象编程

1.面向过程(了解) 学习面向对象,首先我们要先学习面向过程. 面向过程和面向对象都是生活中解决问题的两种思维方式. 面向:就是关注的意思 面向过程:在整个事情的执行过程中,自己至始至终都是其中的参与者,并且要自己亲力亲为所有的步骤. 面向过程的生活中举例: 吃饭: 1.先思考吃什么? 2.去菜市场买菜. 3.回家摘菜,洗菜,切菜. 4.炒菜,焖饭. 5.吃饭. 6.洗刷. 面向过程,在程序中真正的体现就是开发人员自己所书写的函数. 2.面向对象(了解面向对象的初步概念) 生活中理解面向对象的思

java面向对象编程

什么是面向对象编程?面向对象编程是目前比较流行比较新的编程方式,他是面向过程的升级,面向过程和面向对象的区别紧紧只是写法不一样而已.比如:面向过程的语言VB/C他编译后调用平台的指令都是一样的.面向对象的语言JAVA/C++他们最后形成的平台指令也是一样.无论是面向过程还是面向对象的语言他们最终转成的平台也就是机器编码都是一致的,没有一点儿的区别.如图8.1所示: 图8.1 为什么说只是写法不一样?比如日本人跟中国人沟通那就得学中文,美国人也跟中国人沟通还是得学中文,但是学中文比较困难.那么大家

面向对象基础进阶02

一:面向对象的三大特征 封装,继承,多态 封装 1:封装的概念及作用      *通过使用private和public修饰符来修饰类的成员(字段,属性,方法等)这样有效的使私有数据和方法不被外界访问,这种使用特性就是封装:      *一个属性,一个方法也是封装,类是对属性和方法的封装:      *封装是面向对象中的一个重要特征,面向对象的三个重要特征为:封装,继承,多态:      *作用<模块化和数据隐藏> 2:类是模版,确定的对象将会拥有的特征(属性)和行为(方法):任何对象将会属于一