什么是面向对象、面向过程与面向对象的区别

要讲区别,首先我们得先来弄弄清楚什么是面向过程,什么是面向对象。

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

比如把大象放进冰箱,第一步需要先打开冰箱,第二步把大象放进去,第三步把冰箱关上,这样就完成了把大象放进冰箱这件事情。这就是面向过程。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

还是把大象放进冰箱,我们得先有个冰箱,有个大象,冰箱可以开关,大象能够移动,这个时候我们再来做把大象放进冰箱这件事情。

这样看起来好像没什么区别呀,反倒是面向过程来的有条理一些,多方便呀。这只是再这件事情上显得简单而已,如果老板不是让你去放大象,而是让你去造火箭呢?造火箭可是个大工程,怎么造,从哪造,难道我们也面向过程那样一步步列出步骤吗?

因此,对于规模较小的问题,面向过程比较简单,而面向对象更加适用于解决规模较大的问题。

面向对象的程序单位是类,面向过程的程序单位是函数(方法)

细谈面向对象

面对对象编程的本质:以类的方式组织代码,以对象的方式组织数据

面向对象程序设计(OOP)需要清楚对象的三个主要特性:

1、对象的行为-----可以对对象施加哪些操作,或可以对对象施加哪些方法?

2、对象的状态-----当施加那些方法时,对象如何响应?

3、对象标识--------如何辨别具有相同行为与状态的不同对象?

封装、继承和多态是面向对象的三个基本特征。

封装:将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式,是一个黑盒子。

(对象中的数据称为实例域,操作数据的行为称为方法。)

继承:通过扩展一个类来建立另外一个类的过程。大白话就是,子类继承父类后,直接获得父类的属性和方法

多态:子类对象可以直接赋给父类对象,运行时依然表现出子类的行为特征

发布了38 篇原创文章 · 获赞 6 · 访问量 1905

猜你喜欢

转载自blog.csdn.net/weixin_43827227/article/details/101358622