面向对象和面向过程
面向过程(Procedure Oriented 简称PO :像C语言):
看名字它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。
面向对象(Object Oriented简称OO :像C++,JAVA等语言):
看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
面向过程常用于简单的业务中,可以详细列举出具体步骤,复杂的业务往往不容易分析出具体实现步骤,因此使用面向对象的思想
实际开发过程中面向过程和面向对象相辅相成,两者别不冲突,面向对象的具体实现还是依托于面向过程
——————————————我是分割线——————————————
问题: 冰箱里面放有脏衣服,怎么洗干净?
面向过程:
1 执行加洗衣粉方法;
2 执行加水方法;
3 执行洗衣服方法;
4 执行清洗方法;
5 执行烘干方法;
———-解决问题 拆成一个个方法,是没有对象去调用的。 通过一个个方法的执行解决问题。
面向对象: 我先搞个洗衣机对象和人对象
洗衣机: 加入一些属性和方法 洗衣服方法 清洗方法 烘干方法 人:加洗衣粉方法 加水方法
然后 人.加洗衣粉 人.加水 洗衣机.洗衣服 洗衣机.清洗 洗衣机.烘干
———-同样解决问题 先抽象出对象,然后用对象执行方法的方式解决问题。
然后在来一个我以前知乎看到的例子 : 打牌
面向过程就是 打牌 (你,我,他)
面向对象就是 我.打牌(你,他) or 你.打牌(我,他) or 他.打牌(我,你)