1.屬性方法
1.1 私有屬性: 用2個下劃線表示__
class student:
__name = "xiaoming"
__sex = "man"
__age = "15"
def getName(self):
return self.__name
def setName(self,name):
self.__name = name
s = student()
s.setName("xiaohong")
print(s.getName())
1.2 self
可以把它當(dāng)做C++中類里面的this指針一樣理解雨饺,就是對象自身的意思,在用某個對象調(diào)用該方法時光羞,就將該對象作為第一個參數(shù)傳遞給self。
1.3 構(gòu)造
init()構(gòu)造方法,創(chuàng)建對象
class student:
def __init__(self):
self.__name = "xiaoming"
self.__sex = "man"
self.__age = 15
def getName(self):
return self.__name
def setName(self,name):
self.__name = name
s = student()
s.setName("xiaohong")
print(s.getName())
1.4 析拆
del()析構(gòu)方法
刪除實例化的對象
class friend():
def __init__(self):
self.__name = "putao"
self.__location = "jiapali"
def __del__(self):
print("刪除對象")
def getName(self):
return __name__
putao = friend()
del putao
print(putao.getName())
1.5 繼承
class 子類(父類)
class people:
name = 'human'
def sleep(self):
print(self.name, "sleep")
class chinese(people):
def eat(self):
print(self.name, "eat")
c = chinese()
c.sleep() #human sleep
c.eat() #human eat
c.name = "xiaoMing"
c.sleep() #xiaoMing sleep
c.eat() #xiaoMing eat
1.6 多繼承
class 子類(父類A,父類B)
如果有父類有相同方法,A優(yōu)先調(diào)用
子類覆寫父類方法祠挫,子類方法優(yōu)先調(diào)用
1.7 類屬性和實例屬性
類屬性:直接用類對象調(diào)用的屬性
實例屬性:實例對象調(diào)用的屬性
1.8 靜態(tài)方法和類方法
1.8.1 類方法
類方法傳入類本身作為參數(shù)cls
使用注解@classmethod
類方法可以動態(tài)配置
class Color():
__color = (0,0,0)
@classmethod
def getColor(cls):
if cls.__name__ == 'Red':
cls.__color = (255,0,0)
elif cls.__name__ == 'Green':
cls.__color = (0,255,0)
return cls.__color
class Red(Color):
pass
class Green(Color):
pass
print(Red.getColor()) # (255, 0, 0)
print(Green.getColor()) # (0, 255, 0)
@staticmethod
注解在類的靜態(tài)方法上飒焦,
靜態(tài)方法只能用類對象訪問