編程(Object oriented Program
ming),簡稱OOP。面向?qū)ο缶幊淌歉呒?jí)編程語言的共同特性,它比我們前面學(xué)習(xí)的面向過程編程有更高的靈活性、更好的代碼復(fù)用性,讓程序更加容易維護(hù)。
Python中類的定義和使用更方便、更簡潔。鑒于C++嚴(yán)格的語法和動(dòng)不動(dòng)就撒嬌報(bào)錯(cuò)的特點(diǎn),所以廣大程序員喊出了那句經(jīng)典名言“人生苦短,我用Python”。
確實(shí)Python將我們從C++的逗號(hào)、分號(hào)、大括號(hào)中解放出來,能讓程序員更加注重程序本身,而不是編程語言的語法。
那么什么是面向?qū)ο缶幊?,什么是類和?duì)象呢?
首先來想象一下,你早上出門突然從你右后方的位置跳出一個(gè)物體,該物體會(huì)發(fā)出“喵、喵、喵”的叫聲。我們一般把這種東西起名叫做“貓”,這里的“貓”就是一個(gè)類。
這種叫做“貓”類的動(dòng)物,有身高、體重、毛色等區(qū)別,我們把這些可以使用數(shù)值來衡量、使用文字來描述的特征稱為“貓”這個(gè)類的屬性。
另外“貓”類這種動(dòng)物還可以做出跑、跳、爬、抓等動(dòng)作,我們將這些動(dòng)作稱之為“貓”類的方法。
說完類,我們來說說“對(duì)象”,天下的貓雖然有這么多,但每一只都不一樣。比如調(diào)戲你的那只,它叫花花,當(dāng)你睡覺的時(shí)候,在你窗戶外面唱情歌的那只叫乖乖。
這里我們就把屬于貓類這種動(dòng)物的具體的某只,稱之為對(duì)象。如果把你家那只乖乖的出生用程序語言來描述,就是:創(chuàng)建一個(gè)貓類對(duì)象,名字屬性:“乖乖”。
面向?qū)ο缶幊叹褪悄7卢F(xiàn)實(shí)世界,將現(xiàn)實(shí)世界的事物進(jìn)行有目的的抽象,來建立一個(gè)程序模型。什么叫有目的呢?
比如貓,它除了有顏色、體重、體長等特征外還有年紀(jì)、雌雄等屬性,但如果在我們程序里不需要用到這些,我們就可以忽略這些屬性。
打個(gè)最常見的比方就是游戲王者榮耀,里面所有的英雄可以稱之為一個(gè)類——英雄類,有名稱、外觀、血量等屬性和回城、行走、技能等方法。這就是對(duì)現(xiàn)實(shí)人類的抽象,但是這種抽象是有目的的抽象,它忽略了年紀(jì)、吃飯等屬性和方法,因?yàn)檫@些在這個(gè)程序(游戲)中用不到。