面向对象编程思想详解汇总

目录

一、编程中两大思想

(一)、面向过程编程POP(Process-oriented programming)

(二)、面向对象编程OOP (Object Oriented Programming)

二、面向对象编程OOP (Object Oriented Programming)详解

(一)、封装性

(二)、继承性

(三)、多态性

三、小结

 


 

在了解面向对象编程之前首先要先了解编程中两大思想:

●面向过程
●面向对象


一、编程中两大思想

(一)、面向过程编程POP(Process-oriented programming)


面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。


举个栗子:将大象装进冰箱,面向过程做法:
①.打开冰箱门 

②.大象装进去 

③.关上冰箱门

面向过程,就是按照我们分析好了的步骤,按照步骤解决问题。

优点: 性能比面向对象高,适合跟硬件联系很紧密
的东西,例如单片机就采用的面向过程编程。
缺点:没有面向对象易维护、易复用、易扩展
 

(二)、面向对象编程OOP (Object Oriented Programming)


面向对象是把事务分解成为-一个个对象,然后由对象之间分工与合作。
举个栗子:将大象装进冰箱,面向对象做法。
先找出对象,并写出这些对象的功能: 
1.大象对象
●进去
2.冰箱对象
●打开
●关闭
3.使用大象和冰箱的功能
面向对象是以对象功能来划分问题,而不是步骤。

●优点: 易维护、易复用、易扩展,由于面向对象有
封装、继承多态性的特性,可以设计出低耦合的
系统,使系统更加灵活、更加易于维护
●缺点:性能比面向过程低
 

二、面向对象编程OOP (Object Oriented Programming)详解


在面向对象程序开发思想中,每-一个对象都是功能中心,具有明确分工。
面向对象编程具有灵活、代码可复用、容易维护和开发的优点,更适合多人合作的大型软件项目。
面向对象的特性:
●封装性
●继承性
●多态性


(一)、封装性

封装:就是把属性私有化,提供公共方法访问私有对象。把成员变量、方法封装到一个类中,允许其它类访问的,就设置为public;允许子类访问的,就设置为protected;只能自己访问的,就设置为private。

(二)、继承性

面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

通过继承创建的新类称为“子类”或“派生类”。

被继承的类称为“基类”、“父类”或“超类”。

继承的过程,就是从一般到特殊的过程。

要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。

在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。

(三)、多态性

多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

多态的优点:

  • 1. 消除类型之间的耦合关系
  • 2. 可替换性
  • 3. 可扩充性
  • 4. 接口性
  • 5. 灵活性
  • 6. 简化性

  多态存在的三个必要条件

  • 继承
  • 重写(子类继承父类后对父类方法进行重新定义)
  • 父类引用指向子类对象

  简言之,多态其实是在继承的基础上的。比如说今天我们要去动物园参观动物,那么你说我们去参观兔子、参观绵羊、参观狮子、参观豹子都是对的,但你不能说我们去参观汽车。在这个例子中,子类具有多态性:除了使用自己的身份,还能充当父类。

 

三、小结

 

面向对象编程就是一组对象互相配合通过沟通完成特定功能

做软件苦苦追求的一种境界是可重用性(reusable),可扩展性。如果是面向过程,一般情况是属性和方法它们是分开的,他们不是聚合的关系,不是合在一起的,这样要复用起来比较麻烦,复用的层次只是局限于方法这个层次上,而面向对象则不同,它是把属性和方法综合在一个里面。综合在一起复用的时候是整个对象进行复用。所以面向对象和面向过程相比,前者更加容易让我们达到可重用性。

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值