初識python 物件導向

來源:互聯網
上載者:User

標籤:hat   self   製造   類的屬性   命名規則   inf   命名法   python3   形參   

what the f**k!!這個知識點學不好的最大元兇就是,我還單身???

 

 

python基礎(四):

物件導向的三個特點: 封裝,繼承,多態

類:

 

對象是物件導向編程的核心,在使用對象的過程中,為了將具有共同特徵和行為的一組對象抽象定義,提出了另外一個新的概念——類

類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於對象

類(Class) 由3個部分構成

  • 類的名稱:類名
  • 類的屬性:一組資料
  • 類的方法:允許對進行操作的方法 (行為)

建立一個類:

class Car(object):# 類命名規則按照大駝峰命名法.首字母大寫    # 方法    def getCarInfo(self):        print(‘車輪子個數:%d, 顏色%s‘%(self.wheelNum, self.color))
補充:
有些代碼的類可能沒有繼承object,這個問題在Python 3之後就不複存在了,因為Python3中所有的類都是新式類,由於涉及到深度和廣度問題,有興趣的朋友自己看看吧
#新式類
是指繼承object的類class A(object): ........... #經典類是指沒有繼承object的類class A: ...........
 類方法:

在類地內部,使用 def 關鍵字來定義一個方法,與一般函數定義不同,類方法必須包含參數 self, 且為第一個參數,self 代表的是類的執行個體

# 定義類class Car:    #定義方法    # 移動    def move(self):        print(‘車在奔跑...‘)    # 鳴笛    def toot(self):        print("車在鳴笛...嘟嘟..")

 

__init__()方法:#init前後符號是兩條底線 _ _ 不要搞錯.

能夠在建立對象的時候,就順便把這個對象的屬性給設定

# 定義汽車類class Car:    def __init__(self):        self.wheelNum = 4        self.color = ‘藍色‘ #效果等同於上文的 BMW.color = ‘黑色‘, 只不過上文的是添加屬性,這裡的是在類裡面就把屬性寫好了    def move(self):        print(‘車在跑,目標:夏威夷‘)# 建立對象BMW = Car()print(‘車的顏色為:%s‘%BMW.color)print(‘車輪胎數量為:%d‘%BMW.wheelNum)
  • __init__()方法,在建立一個對象時預設被調用,不需要手動調用
  • __init__(self)中,預設有1個參數名字為self,如果在建立對象時傳遞了2個實參,那麼__init__(self)中出了self作為第一個形參外還需要2個形參,例如__init__(self,x,y)
  • __init__(self)中的self參數,不需要開發人員傳遞,python解譯器會自動把當前的對象引用傳遞進去
 類對象:

  類對象支援兩種操作:屬性引用和執行個體化

# 定義類
class Car: # 移動 def move(self): print(‘車在奔跑...‘) # 鳴笛 def toot(self): print("車在鳴笛...嘟嘟..")# 建立一個對象,並用變數BMW來儲存它的引用BMW = Car()BMW.color = ‘黑色‘ #給對象添加屬性BMW.wheelNum = 4 #輪子數量 給對象添加屬性BMW.move() # 調用對象的move方法BMW.toot() # 調用對象的toot方法print(BMW.color)print(BMW.wheelNum)

--->

車在奔跑...
車在鳴笛...嘟嘟..
黑色
4

  • BMW = Car(),這樣就產生了一個Car的執行個體對象,此時也可以通過執行個體對象BMW來訪問屬性或者方法
  • 第一次使用BMW.color = ‘黑色‘表示給BMW這個對象添加屬性,如果後面再次出現BMW.color = xxx表示對屬性進行修改
  • BMW是一個對象,它擁有屬性(資料)和方法(函數)
  • 當建立一個對象時,就是用一個模子,來製造一個實物 
類的繼承:

子類獲得了父類的全部功能

 1 # 定義類 2 class Car: 3     # 移動 4     def move(self): 5         print(‘車在奔跑...‘) 6  7     # 鳴笛 8     def toot(self): 9         print("車在鳴笛...嘟嘟..")10 11 class BMW(Car):12     def stop(self):13         print(‘stop‘)14 15 X5 = BMW()16 Audi = Car()17 18 X5.move()19 Audi.move()


--->

車在奔跑...
車在奔跑...

 

初識python 物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.