Android IOS开发要理解何为面向对象的思维

何为面向对象的思维?

面向对象 VS面向过程

OOP =》面向对象,全称Object Oriented Programming

POP =》面向过程,全称Process-oriented programming

1、通俗的理解:

有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择:

1)自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。(即面向过程)=》更符合电脑的思维

2)去饭店,张开嘴:老板!来一份鱼香肉丝!(面向对象) =》更符合人类的思维

2、深入理解

面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。

面向对象是模型化的;你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,无需了解,会用就行。

PS:需要注意的是==>面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装;方便我们使用的就是面向对象了。

3、各自的优缺点

面向过程:

优点:性能比面向对象好;因为类调用时需要实例化,开销比较大,比较消耗资源。

缺点:不易维护、不易复用、不易扩展.

面向对象:

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

缺点:性能比面向过程差

4、面向对象的三大特性解释

1)封装

隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

2)继承

提高代码复用性;继承是多态的前提。

3)多态

父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性

总结:

如果解决1件事情的时候,每件事情都是我们亲自去一步步实现,那么这种解决问题的思路叫做面向过程的解决思路;

如果解决1件事情的时候,自己不去亲自做,而是找1个专门做这件事情的人来帮助我们做,这种解决问题的思路我们叫做面向对象的解决思路。

面向过程与面向对象是解决同1个问题的不同思路

代码世界的面向过程说面向对象

面向过程:在遇到一个需求的时候,实现这个需求的每1个步骤都是自己写代码亲自去做,一步步的实现,这样的解决问题的方式我们就叫做面向过程的方式。

面向对象:在遇到一个需求的时候,不要亲自去实现,而是找1个专门做这件事情的人来帮助我们搞定,这样的解决问题的方式我们就叫做面向对象的方式。

什么是对象?

对象是现实生活中的1个具体存在,看得见,摸得着,拿过来就可以直接使用。

什么是类?

类是对一群具有相同特征或者行为的事物的1个统称,抽象的,不能直接使用。

猜你喜欢

转载自blog.csdn.net/yanhuomatou2015/article/details/108287822