android iOS 都精通,Android IOS开发要理解何为面向对象的思维
何為面向?qū)ο蟮乃季S?
面向?qū)ο?VS面向過(guò)程
OOP =》面向?qū)ο?#xff0c;全稱(chēng)Object Oriented Programming
POP =》面向過(guò)程,全稱(chēng)Process-oriented programming
1、通俗的理解:
有一天你想吃魚(yú)香肉絲了,怎么辦呢?你有兩個(gè)選擇:
1)自己買(mǎi)材料,肉,魚(yú)香肉絲調(diào)料,蒜苔,胡蘿卜等等然后切菜切肉,開(kāi)炒,盛到盤(pán)子里。(即面向過(guò)程)=》更符合電腦的思維
2)去飯店,張開(kāi)嘴:老板!來(lái)一份魚(yú)香肉絲!(面向?qū)ο? =》更符合人類(lèi)的思維
2、深入理解
面向過(guò)程是具體化的,流程化的,解決一個(gè)問(wèn)題,你需要一步一步的分析,一步一步的實(shí)現(xiàn)。
面向?qū)ο笫悄P突?#xff1b;你只需抽象出一個(gè)類(lèi),這是一個(gè)封閉的盒子,在這里你擁有數(shù)據(jù)也擁有解決問(wèn)題的方法。需要什么功能直接使用就可以了,不必去一步一步的實(shí)現(xiàn),至于這個(gè)功能是如何實(shí)現(xiàn)的,無(wú)需了解,會(huì)用就行。
PS:需要注意的是==>面向?qū)ο蟮牡讓悠鋵?shí)還是面向過(guò)程,把面向過(guò)程抽象成類(lèi),然后封裝;方便我們使用的就是面向?qū)ο罅恕?/p>
3、各自的優(yōu)缺點(diǎn)
面向過(guò)程:
優(yōu)點(diǎn):性能比面向?qū)ο蠛?#xff1b;因?yàn)轭?lèi)調(diào)用時(shí)需要實(shí)例化,開(kāi)銷(xiāo)比較大,比較消耗資源。
缺點(diǎn):不易維護(hù)、不易復(fù)用、不易擴(kuò)展.
面向?qū)ο?#xff1a;
優(yōu)點(diǎn):易維護(hù)、易復(fù)用、易擴(kuò)展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可以設(shè)計(jì)出低耦合的系統(tǒng),使系統(tǒng) 更加靈活、更加易于維護(hù) .
缺點(diǎn):性能比面向過(guò)程差
4、面向?qū)ο蟮娜筇匦越忉?/p>
1)封裝
隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式,將變化隔離,便于使用,提高復(fù)用性和安全性。
2)繼承
提高代碼復(fù)用性;繼承是多態(tài)的前提。
3)多態(tài)
父類(lèi)或接口定義的引用變量可以指向子類(lèi)或具體實(shí)現(xiàn)類(lèi)的實(shí)例對(duì)象。提高了程序的拓展性
總結(jié):
如果解決1件事情的時(shí)候,每件事情都是我們親自去一步步實(shí)現(xiàn),那么這種解決問(wèn)題的思路叫做面向過(guò)程的解決思路;
如果解決1件事情的時(shí)候,自己不去親自做,而是找1個(gè)專(zhuān)門(mén)做這件事情的人來(lái)幫助我們做,這種解決問(wèn)題的思路我們叫做面向?qū)ο蟮慕鉀Q思路。
面向過(guò)程與面向?qū)ο笫墙鉀Q同1個(gè)問(wèn)題的不同思路
代碼世界的面向過(guò)程說(shuō)面向?qū)ο?/p>
面向過(guò)程:在遇到一個(gè)需求的時(shí)候,實(shí)現(xiàn)這個(gè)需求的每1個(gè)步驟都是自己寫(xiě)代碼親自去做,一步步的實(shí)現(xiàn),這樣的解決問(wèn)題的方式我們就叫做面向過(guò)程的方式。
面向?qū)ο?在遇到一個(gè)需求的時(shí)候,不要親自去實(shí)現(xiàn),而是找1個(gè)專(zhuān)門(mén)做這件事情的人來(lái)幫助我們搞定,這樣的解決問(wèn)題的方式我們就叫做面向?qū)ο蟮姆绞健?/p>
什么是對(duì)象?
對(duì)象是現(xiàn)實(shí)生活中的1個(gè)具體存在,看得見(jiàn),摸得著,拿過(guò)來(lái)就可以直接使用。
什么是類(lèi)?
類(lèi)是對(duì)一群具有相同特征或者行為的事物的1個(gè)統(tǒng)稱(chēng),抽象的,不能直接使用。
今天的分享結(jié)束了,再見(jiàn)~
總結(jié)
以上是生活随笔為你收集整理的android iOS 都精通,Android IOS开发要理解何为面向对象的思维的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql workbench 1064
- 下一篇: mysql多实例配置安装_MySQL多实