一、面向?qū)ο蟮母拍?/h2>
面向?qū)ο髈op(onject oriented programming),與之對(duì)應(yīng)的還有面向過(guò)程,向C語(yǔ)言就是面向過(guò)程的
理解過(guò)程和函數(shù)?
過(guò)程:是早期的一個(gè)編程概念,過(guò)程類(lèi)似于函數(shù),只能執(zhí)行,但是沒(méi)有返回值
函數(shù):不僅能執(zhí)行,還可以返回結(jié)果(return)
二、深刻理解什么時(shí)面向?qū)ο蠛兔嫦蜻^(guò)程
面向過(guò)程:—-側(cè)重于怎么做?
把完成某個(gè)需求的所有步驟從頭到尾逐步實(shí)現(xiàn) 根據(jù)開(kāi)發(fā)要求,將某些功能獨(dú)立的代碼封裝成一個(gè)又一個(gè)函數(shù) 最后完成的代碼,就會(huì)死順序的調(diào)用不同的函數(shù)
特點(diǎn):
注重步驟與過(guò)程,不注重職責(zé)分工 如果需求復(fù)雜,代碼會(huì)變得很復(fù)雜 開(kāi)發(fā)復(fù)雜項(xiàng)目,沒(méi)有固定的套路,開(kāi)發(fā)難度很大
面向?qū)ο螅?#8212;側(cè)重于誰(shuí)來(lái)做?
相比較函數(shù),面向?qū)ο笫歉蟮姆庋b,根據(jù)職責(zé)在一個(gè)對(duì)象中封裝多個(gè)方法
在完成某個(gè)需求之前,首先確定職責(zé)—要做的事情(方法) 根據(jù)職責(zé)確定不同的對(duì)象,在對(duì)象內(nèi)部封裝不同的方法(或是多個(gè)方法) 最后完成代碼,就是順序的讓不同對(duì)象調(diào)用不同的方法
特點(diǎn):
注重對(duì)象和職責(zé),不同的對(duì)象承擔(dān)不同的職責(zé) 更加適合復(fù)雜的需求變化,是專(zhuān)門(mén)應(yīng)對(duì)復(fù)雜項(xiàng)目的開(kāi)發(fā)提供的固定套路 需要在面向過(guò)程的基礎(chǔ)上,再學(xué)習(xí)一些面向?qū)ο蟮恼Z(yǔ)法
面向?qū)ο缶幊逃蠵ython 、JAVA 、C++
三、類(lèi)與對(duì)象
在程序開(kāi)發(fā)中,先有類(lèi),再有對(duì)象
類(lèi):是對(duì)一群具有相同特征或行為的事物的一個(gè)統(tǒng)稱(chēng),不能直接使用(比如:在飛機(jī)制造前先設(shè)計(jì)的哪個(gè)圖紙,圖紙就是一個(gè)類(lèi),可以用著一個(gè)圖紙制作出好多飛機(jī),但是,圖紙是不能飛上天的)特征被稱(chēng)為屬性,行為被稱(chēng)為方法
對(duì)象:有類(lèi)創(chuàng)建出來(lái)的一個(gè)具體存在的,可以直接使用的(飛機(jī)可以飛上天)
類(lèi)的設(shè)計(jì):
在使用面相對(duì)象開(kāi)發(fā)前,應(yīng)該首先分析需求,確定一下,程序中需要包含哪些類(lèi)!
六、用相同的類(lèi)可以創(chuàng)建不同的對(duì)象
案例【1】
class pig: def eat(self): print '小豬愛(ài)吃飯' def sleep(self): print '小豬愛(ài)睡覺(jué)' Pig = pig() Pig.eat() Pig.sleep() addr= id(Pig) print addr print '%x' %addr print '%d'%addr #用相同的類(lèi)可以創(chuàng)建不同的對(duì)象 lazy_pig=Pig lazy_pig.eat() lazy_pig.sleep() print lazy_pig lazy_pig2=lazy_pig print lazy_pig2
相關(guān)推薦
- 自媒體推廣實(shí)時(shí)監(jiān)控從服務(wù)器帶寬到用戶行為解決方法
- 個(gè)人站長(zhǎng)消亡論?從“消失”到“重生”的三大破局路徑
- DeepSeek企業(yè)級(jí)部署RakSmart裸機(jī)云環(huán)境準(zhǔn)備指南
- 采訪普洛斯數(shù)據(jù)中心郭仁聲:智算時(shí)代 我們需要怎樣的算力與數(shù)據(jù)中心
- 入門(mén)級(jí)攻略:如何容器化部署微服務(wù)?
- 新手小白怎么通過(guò)云服務(wù)器跑pytorch?
- 云計(jì)算平臺(tái)層(PaaS)指的是什么?常見(jiàn)的應(yīng)用場(chǎng)景盤(pán)點(diǎn)
- 阿里云CTO周靖人:全面投入升級(jí)AI大基建