如何理解面向对象OOP设计理念

简介: 将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。于是开发人员只 需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序间相互依赖,实现代码模块间松藕合。

如何理解面向对象OOP设计理念

OOP三大特点

1、封装性:

也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。于是开发人员只 需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序间相互依赖,实现代码模块间松藕合。

2、继承性:

就是子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性。PHP只支持单继承,也就是说一个子类只能有一个父类。

3、多态性:

子类继承了来自父级类中的属性和方法,并对其中部分方法进行重写。于是多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果,这种技术就是多态性。多态性增强了软件的灵活性。

OOP优势

1、易维护

采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

2、质量高

在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。

3、效率高

在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。

4、易扩展

由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

目录
相关文章
|
1月前
什么是面向对象领域软件设计的 Contravariance 概念
什么是面向对象领域软件设计的 Contravariance 概念
20 0
|
7月前
|
程序员
如何理解面向过程和面向对象?
有人说:“如果上帝是程序员,他怎么创造世界上的所有动物。”,理解这个问题就理解了面向对像。
|
1月前
什么是面向对象设计领域的 Covariance 概念
什么是面向对象设计领域的 Covariance 概念
13 0
|
4月前
|
算法 JavaScript 前端开发
什么是面向对象编程及面向过程编程,它们的异同和优缺点
什么是面向对象编程及面向过程编程,它们的异同和优缺点
80 0
|
4月前
|
关系型数据库
编程思想 - 面向对象编程和面向过程编程的区别理解
编程思想 - 面向对象编程和面向过程编程的区别理解
22 0
|
8月前
|
存储 算法 程序员
25【软件基础】面向对象分析与设计思想总结
`面向对象的本质`:通过对象之间的协作完成功能。
387 0
|
9月前
|
C++
C++面向对象的概念和特点
C++面向对象的概念和特点
|
9月前
面向对象概念
1. Coad和Yourdon给出了一个定义:面向对象=对象+类+继承+通信 2. 如果一个软件系统使用这样4个概念设计和实现,则我们认为这个软件系统是面向对象的 什么是对象(object)
48 0
|
9月前
面向对象程序设计(OOP)的基本概念
面向对象程序设计(OOP)的基本概念
125 0
|
设计模式 Java 关系型数据库
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?