1.面向?qū)ο蟮睦斫?/h1>
面向?qū)ο笫且环N設(shè)計思想
符合人們的思考習慣
把執(zhí)行者變成指揮者
簡化功能纸镊,把復雜的事情簡單化
想完成一個事,找具有這樣功能的對象
如果能找到侨颈,調(diào)用這個對象的功能挫酿,完成這個事
如果找不到构眯,創(chuàng)建具有這樣功能的對象,再調(diào)用完成這個事
面向?qū)ο笥腥筇卣鳎?/p>
封裝
繼承
多態(tài)
2.類和對象
對象是面向?qū)ο缶幊痰暮诵脑绻辏谑褂脤ο蟮倪^程中惫霸,為了將具有共同特征和行為的一組對象抽象定義,提出了另外一個新的概念——類
類就相當于制造飛機時的圖紙拄衰,用它來進行創(chuàng)建的飛機就相當于對象
類是對事務(wù)的描述它褪,是抽象的。
對象是類的具體體現(xiàn)翘悉。
類對事務(wù)的描述:屬性(名詞)和行為(動詞)
例如:
奔馳汽車 類
奔馳smart 類
張三的那輛奔馳smart 對象
狗 類
大黃狗 類
李四家那只大黃狗 對象
水果 類
蘋果 類
紅蘋果 類 紅富士蘋果 類
我嘴里吃了一半的蘋果 對象
3.類的構(gòu)成
類(Class) 由3個部分構(gòu)成
類的名稱:類名
類的屬性:一組數(shù)據(jù) 屬性茫打、變量
類的方法:允許對進行操作的方法 (行為) 方法
舉例:
1)人類設(shè)計,只關(guān)心3樣東西:
事物名稱(類名):人(Person)
屬性:身高(height)、年齡(age)
方法(行為/功能):跑(run)、打架(fight)
2)狗類的設(shè)計
類名:狗(Dog)
屬性:品種 老赤、毛色轮洋、性別、名字抬旺、 腿兒的數(shù)量
方法(行為/功能):叫 弊予、跑、咬人开财、吃汉柒、搖尾巴
4.類的抽象
擁有相同(或者類似)屬性和行為的對象都可以抽像出一個類
方法:一般名詞都是類(名詞提煉法)
<1> 坦克發(fā)射3顆炮彈轟掉了2架飛機
坦克--》可以抽象成 類
炮彈--》可以抽象成類
飛機-》可以抽象成類
<2> 小明在公車上牽著一條叼著熱狗的狗
小明--》 人類
公車--》 交通工具類
熱狗--》 食物類
狗--》 狗類
5.定義類
定義一個類,格式如下:
class 類名:
方法列表
demo:定義一個Car類
# 定義類
class Car:
# 方法
def getCarInfo(self):
print('車輪子個數(shù):%d, 顏色%s'%(self.wheelNum, self.color))
def move(self):
print("車正在移動...")
說明:
定義類時有2種:新式類和經(jīng)典類责鳍,上面的Car為經(jīng)典類碾褂,如果是Car(object)則為新式類
類名 的命名規(guī)則按照"大駝峰"
6.創(chuàng)建對象
創(chuàng)建對象的格式為:
對象名 = 類名()
創(chuàng)建對象demo:
class Car:
def move(self):
print('it it move fast')
def toot(self):
print('it is dudu')
bmw=Car()
bmw.color='黑色'
bmw.wheelNum=4
bmw.move()
bmw.toot()
print(bmw.color)
print(bmw.wheelNum)
結(jié)果為:
it it move fast
it is dudu
黑色
4
bmw = Car(),這樣就產(chǎn)生了一個Car的實例對象历葛,此時也可以通過實例對象bmw來訪問屬性或者方法
第一次使用bmw.color = '黑色'表示給bmw這個對象添加屬性曹洽,如果后面再次出現(xiàn)bmw.color = xxx表示對屬性進行修改
bmw是一個對象半等,它擁有屬性(數(shù)據(jù))和方法(函數(shù))
當創(chuàng)建一個對象時扁掸,就是用一個模子坡氯,來制造一個實物
7.__init__()方法
1)使用方式
def 類名:
#初始化函數(shù),用來完成一些默認的設(shè)定
def __init__():
pass
2)__init__()方法的調(diào)用
class Car:
def __init__(self):
self.wheelNum=4
self.color='藍色'
def move(self):
print('車在移動的很快')
bmw=Car()
print('車的顏色為%s'%bmw.color)
print('車輪胎的數(shù)量為: %d'%bmw.wheelNum)
bmw.move()
運行結(jié)果為:
車的顏色為藍色
車輪胎的數(shù)量為: 4
車在移動的很快