python面向对象和面向过程的区别_Python11-01_面向对象----面向对象和面向过程的区别...
面向?qū)ο缶幊?/p>
面向?qū)ο?#xff08;OPP)編程思想主要針對(duì)大型軟件設(shè)計(jì)而來(lái)的。面向?qū)ο缶幊淌钩绦虻臄U(kuò)展性更加強(qiáng),可讀性更好。使得編程可以像搭積木一樣簡(jiǎn)單。
面向?qū)ο缶幊虒?shù)據(jù)和操作數(shù)據(jù)的方法封裝到對(duì)象中,組織代碼和數(shù)據(jù)方式更加接近人的思維,從而大大提高了編程效率
Python完全采用了面向?qū)ο蟮乃枷?#xff0c;是真正的面向?qū)ο缶幊陶Z(yǔ)言,完全支持面向?qū)ο蟮幕竟δ?#xff0c;列如:繼承,多態(tài),封裝等
Python中一切皆對(duì)象,我們?cè)谇懊鎸W(xué)習(xí)的數(shù)據(jù)類型,函數(shù)等,都是對(duì)象
Python支持面向過(guò)程,面向?qū)ο?#xff0c;函數(shù)編程等多種編程范式
面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別
面向過(guò)程(Procedure Oriented)思維
面向過(guò)程更加關(guān)注的是“程序操作流程”,是一種“執(zhí)行者”思維,適合編寫小規(guī)模程序
面向過(guò)程思考問(wèn)題時(shí),我們首先思考“怎樣按步驟實(shí)現(xiàn)”并將步驟對(duì)應(yīng)成方法,一步一步,最終完成。這個(gè)適合簡(jiǎn)單任務(wù),不需要過(guò)多操作的情況下,我們很容易就列出實(shí)現(xiàn)步驟。比如:如何開(kāi)車?
1. 發(fā)動(dòng)車 2. 掛擋 3. 踩油門 4. 走
面向過(guò)程適合簡(jiǎn)單,不需要協(xié)作的任務(wù)。 、但是當(dāng)我們思考比較復(fù)雜的問(wèn)題,比如“如何造車?”就會(huì)發(fā)現(xiàn)列出1234步驟,是不可能一步到位的。
面向?qū)ο?#xff08;Object Oriented)思維
面向?qū)ο蟾P(guān)注的是“軟件與對(duì)象之間的關(guān)系”,是一種“設(shè)計(jì)者思維”,適合編寫大規(guī)模程序
面向?qū)ο笏季S更契合人的思維方式,我們首先思考的是如何制造這個(gè)事物,比如思考造車,我們就會(huì)先思考“車怎么設(shè)計(jì)?”而不是怎樣按步驟造車的問(wèn)題,這就是思維方式的轉(zhuǎn)變
面向?qū)ο笤燔?#xff0c;發(fā)現(xiàn)車由以下幾個(gè)步驟組成
輪胎
發(fā)動(dòng)機(jī)
車殼
座椅
擋風(fēng)玻璃
為了便于協(xié)作,我們找各個(gè)廠制作各個(gè)車部件的步驟,最終進(jìn)行組裝,大大提高了效率,但是具體到某一部件,還是離不開(kāi)面向過(guò)程
因此,面向?qū)ο罂梢詭椭覀儚暮暧^上把握,從整體上分析整個(gè)系統(tǒng)。但是具體到實(shí)現(xiàn)步驟的微觀操作,仍需要面向過(guò)程去處理
面向?qū)ο蠛兔嫦蜻^(guò)程是相輔相成的,面向?qū)ο箅x不開(kāi)面向過(guò)程
面向?qū)ο蟮乃伎挤绞?/p>
遇到復(fù)雜但是問(wèn)題,先找名詞(面向過(guò)程先找動(dòng)詞),然后確立這些名詞哪些可以作為類,再根據(jù)問(wèn)題需求確定類的屬性和方法,確定類之間的關(guān)系
面向?qū)ο蠛兔嫦蜻^(guò)程總結(jié)
都是解決問(wèn)題的思維方式,都是代碼的組織方式
解決簡(jiǎn)單問(wèn)題可以用面向過(guò)程
解決復(fù)雜問(wèn)題:宏觀上用面向?qū)ο蟀盐?#xff0c;微觀上仍然是面向過(guò)程
總結(jié)
以上是生活随笔為你收集整理的python面向对象和面向过程的区别_Python11-01_面向对象----面向对象和面向过程的区别...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: graphpad做饼图_如此简单的饼图,
- 下一篇: python类高级用法_十.python