面向对象
对象~
挣了钱就会有对象对吗
这个是肯定的!!
进入状态~
[直接从面向对象进入了~]
面相对象和面相过程?
是不是一个东西?他们会有冲突吗?
[没有冲突,反而还是包含的关系]
面相对象甚至于说包含着面相过程且时时刻刻依赖
理解:
所有的程序语言都是根据人类的思维逻辑来设计创造的,所以java也不例外,所以下面的理解应该不难,也是我自己的理解
先看一段我的理解:
马上要过年了,而大年30的重头戏就是团圆饭,那这个团圆饭的制作过程能不能用面向对象和面向过程来解释呢,那必然是可以的:
面向对象:
今晚我要煮几碗菜几荤几素几汤几菜
面向过程:
今晚的菜品中的佛跳墙我要准备哪些食材怎么烹调
大家发现了什么了没有?
面向对象:(宏观解决问题)
面向对象是设计过程,是空泛但不可缺少的,是需要站在一定全局的角度上去设计,不需要考虑具体的实施过程,就像上面说的,今晚我要煮几碗菜有荤有素有面有汤
面相过程:(微观解决具体问题)
面相过程就是为了解决面相对象中的具体问题比如:每个菜我要怎么制作的问题,比如佛跳墙我需要准备:鲍鱼、海参、鱼唇、牦牛皮胶、杏鲍菇、蹄筋、花菇、墨鱼、瑶柱、鹌鹑蛋等食材,通过汇聚到一起,加入高汤和福建老酒,文火煨制的方式制作而成
有个经典的比喻:
面向对象是盖浇饭、
面向过程是蛋炒饭。
盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低。
蛋炒饭的好处就是简单快速,但是遇到不满意的地方就不能灵活的作出改变,一旦成型,修改难度巨大,牵一发而动全身的比喻也不为过
综述:面相对象用于设计,面相过程用于解决问题
补充:
面向对象具有三大特征:
封装性、继承性和多态性
而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能。所以面向对象优势更明显。