零基礎入門學習Python(16):對象(1)
Python無處不對象,對象 = 屬性 + 方法(變量+函數)
>>> class FirstClass: #Python中的類名約定以大寫字母開始
#屬性
color = 'red'
name = 'Jessica'
#方法
def eat(self): #類中方法定義時把self寫進第一個參數,這是默認的要求
print("I want to eat something...")
def sleep():
print("I want to sleep...")
面向對象(Object Oriented)的特徵
1、封裝:信息隱蔽技術
>>> test1 = FirstClass() #test1是FirstClass類的一個實例對象
>>> test1
<__main__.FirstClass object at 0x026E5A90>
>>> test1.name #可以通過實例調用類的屬性和方法
'Jessica'
>>> test1.eat()
I want to eat something...
2、繼承:子類自動共享父類數據和方法的機制
>>> class MyList(list): #創建自己的列表類MyList,讓它繼承Python中的列表類list
pass #pass是一個佔位符,表示這個類不做任何事情
>>> list1 = MyList() #生成一個MyList的對象,即生成了一個空列表,相當於list1 = list()
>>> list1
[]
>>> list1.append(2) #由MyList生成的對象可以調用父類list的方法
>>> list1
[2]
3、多態:當不屬於同一類時,不同類可以有相同的屬性名和方法名
>>> class A:
name = 'xiuxiu'
def fun(self):
print("I like playing...")
>>> class B:
name = 'Jessica'
def fun(self):
print("I like eating...")
>>> a = A()
>>> b = B()
>>> a.name #因爲是不同類的對象,所以會調用相應類的屬性和方法
'xiuxiu'
>>> a.fun()
I like playing...
>>> b.name
'Jessica'
>>> b.fun()
I like eating...