python面向?qū)ο?/h1>

面向過程:根據(jù)業(yè)務(wù)邏輯從上到下寫代碼焰手。

面向過程編程最易被初學(xué)者接受,其往往用一長段代碼來實現(xiàn)指定功能,開發(fā)過程的思路是將數(shù)據(jù)與函數(shù)按照執(zhí)行的邏輯順序組織在一起惫撰,數(shù)據(jù)與函數(shù)分開考慮亮垫。

面向?qū)ο螅簩?shù)據(jù)與函數(shù)綁定到一起模软,進(jìn)行封裝,這樣能夠更快速的開發(fā)程序饮潦,減少了重復(fù)代碼的重寫過程燃异。

面向?qū)ο?object-oriented?;簡稱:?OO)至今還沒有統(tǒng)一的概念?我這里把它定義為:按人們?認(rèn)識客觀世界的系統(tǒng)思維方式,采用基于對象(實體)的概念建立模型,模擬客觀世界分析、設(shè)?計继蜡、實現(xiàn)軟件的辦法回俐。

面向?qū)ο缶幊?Object?Oriented?Programming-OOP)是一種解決軟件復(fù)用的設(shè)計和編程方法。?這種方法把軟件系統(tǒng)中相近相似的操作邏輯和操作?應(yīng)用數(shù)據(jù)稀并、狀態(tài),以類的型式描述出來,以對象實例的形式在軟件系統(tǒng)中復(fù)用,以達(dá)到提高軟件開發(fā)效率的作用仅颇。

面向?qū)ο蟮娜筇卣鳎悍庋b、繼承碘举、多態(tài)

封裝

封裝是面向?qū)ο蟮奶卣髦涣榱菍ο蠛皖惛拍畹闹饕匦浴?/p>

封裝,也就是把客觀事物封裝成抽象的類殴俱,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作政冻,對不可信的進(jìn)行信息隱藏。

繼承

面向?qū)ο缶幊?OOP)語言的一個主要功能就是“繼承”线欲。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能明场,并在無需重新編寫原來的類的情況下對這些功能進(jìn)行擴(kuò)展。

通過繼承創(chuàng)建的新類稱為“子類”或“派生類”李丰。

被繼承的類稱為“基類”苦锨、“父類”或“超類”。

繼承的過程趴泌,就是從一般到特殊的過程舟舒。

要實現(xiàn)繼承,可以通過“繼承”(Inheritance)和“組合”(Composition)來實現(xiàn)嗜憔。

在某些OOP語言中桅打,一個子類可以繼承多個基類怜奖。但是一般情況下股冗,一個子類只能有一個基類,要實現(xiàn)多重繼承皆尔,可以通過多級繼承來實現(xiàn)。

多態(tài)

多態(tài)性(polymorphisn)是允許你將父對象設(shè)置成為和一個或更多的他的子對象相等的技術(shù)币励,賦值之后慷蠕,父對象就可以根據(jù)當(dāng)前賦值給它的子對象的特性以不同的方式運作。簡單的說食呻,就是一句話:允許將子類類型的指針賦值給父類類型的指針流炕。

實現(xiàn)多態(tài),有二種方式仅胞,覆蓋浪感,重載。

覆蓋饼问,是指子類重新定義父類的虛函數(shù)的做法。

重載揭斧,是指允許存在多個同名函數(shù)莱革,而這些函數(shù)的參數(shù)表不同(或許參數(shù)個數(shù)不同,或許參數(shù)類型不同讹开,或許兩者都不同)盅视。

1、實現(xiàn)對類的定義

定義一個類Car旦万,并創(chuàng)建兩個對象BMW和benz闹击。



如果我們創(chuàng)建多個對象時,都向上圖一樣一次次為屬性賦值比較麻煩成艘,下面調(diào)用方法縮減工作量赏半。

觀察如下代碼:



使用__init__()方法可以在創(chuàng)建對象時為對象的屬性賦值。

def?__init__(self,參數(shù),...):

賦值

__init__()方法在創(chuàng)建一個對象時默認(rèn)被調(diào)用淆两,不需要手動調(diào)用断箫。

Self參數(shù)不需要開發(fā)者傳遞,python解釋器會自動把當(dāng)前的對象引用傳遞進(jìn)去秋冰。

BMW1也指向BMW所指向的地址仲义。所以,給BMW1.name賦值以后剑勾,該地址內(nèi)所存儲的信息發(fā)生了變化埃撵,輸出也就跟著變了。

使用id()查看內(nèi)存地址


在對象轉(zhuǎn)成字符串的時候調(diào)用__str__(self):這個方法虽另,并將此方法的返回值返回暂刘,所以該方法必須有返回值return,并且返回的是一個字符串捂刺。




在python中如果方法名是__xxxx__()鸳惯,那么就有特殊的功能商蕴,因此叫做“魔法”方法。當(dāng)使用print輸出對象的時候芝发,只要自己定義了__str__(self)方法绪商,那么就會打印從在這個方法中return的數(shù)據(jù)(如上圖結(jié)果)。

可以把self當(dāng)做C++中類里面的this指針一樣理解辅鲸,就是對象自身的意思格郁。某個對象調(diào)用其方法時,python解釋器會把這個對象作為第一個參數(shù)傳遞給self独悴,所以開發(fā)者只需要傳遞后面的參數(shù)即可例书。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刻炒,隨后出現(xiàn)的幾起案子决采,更是在濱河造成了極大的恐慌,老刑警劉巖坟奥,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件树瞭,死亡現(xiàn)場離奇詭異,居然都是意外死亡爱谁,警方通過查閱死者的電腦和手機(jī)晒喷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來访敌,“玉大人凉敲,你說我怎么就攤上這事∷峦” “怎么了爷抓?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長阻塑。 經(jīng)常有香客問我废赞,道長,這世上最難降的妖魔是什么叮姑? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任唉地,我火速辦了婚禮,結(jié)果婚禮上传透,老公的妹妹穿的比我還像新娘耘沼。我一直安慰自己,他們只是感情好朱盐,可當(dāng)我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布群嗤。 她就那樣靜靜地躺著,像睡著了一般兵琳。 火紅的嫁衣襯著肌膚如雪狂秘。 梳的紋絲不亂的頭發(fā)上骇径,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機(jī)與錄音者春,去河邊找鬼破衔。 笑死,一個胖子當(dāng)著我的面吹牛钱烟,可吹牛的內(nèi)容都是我干的晰筛。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼拴袭,長吁一口氣:“原來是場噩夢啊……” “哼读第!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拥刻,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤怜瞒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后般哼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吴汪,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年逝她,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睬捶。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡黔宛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出擒贸,到底是詐尸還是另有隱情臀晃,我是刑警寧澤,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布介劫,位于F島的核電站徽惋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏座韵。R本人自食惡果不足惜险绘,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望誉碴。 院中可真熱鬧宦棺,春花似錦、人聲如沸黔帕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽成黄。三九已至呐芥,卻和暖如春逻杖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背思瘟。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工荸百, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人潮太。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓管搪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铡买。 傳聞我的和親對象是個殘疾皇子更鲁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容