Python成長筆記 - 基礎篇 (七)python面向對象

 
三大特性:
一、封裝:在類中對數據賦值、內部調用對外部用戶是透明的,這使類變成了一個膠囊或容器,裏面包含着類的數據和方法
二、繼承:一個類能夠派生出子類,在父類中定義的屬性、方法會自動被子類繼承
# class People:#經典類
class People(object):#新式類
def __init__(self,,age):
self.name = self.age = age
 
def eat(self):
print('%s is eating' %self.name)
 
def work(self):
print("%s is work hard"%self.name )
 
 
class Man(People): #子類繼承People父類
def __init__(self,name,age,sex):
#People.__init__(self, name, age)
super(Man, self).__init__(name, age)#新式
self.sex = sex
 
def drink(self):
print("%s is drinking"%self.sex)
 
class Woman(People):
def get_brith(self):
print("%s is get" % self.name)
 
def eat(self):
People.eat(self)
 
 
m1 = Man("mmmmm",23,"男")
m1.eat()
m1.drink()
 
w1 =Woman("wwwww",22)
w1.get_brith()
w1.eat()# class People:#經典類
class People(object):#新式類
def __init__(self,,age):
self.name = self.age = age
 
def eat(self):
print('%s is eating' %self.name)
 
def work(self):
print("%s is work hard"%self.name )
 
 
class Man(People): #子類繼承People父類
def __init__(self,name,age,sex):
#People.__init__(self, name, age)
super(Man, self).__init__(name, age)#新式
self.sex = sex
 
def drink(self):
print("%s is drinking"%self.sex)
 
class Woman(People):
def get_brith(self):
print("%s is get" % self.name)
 
def eat(self):
People.eat(self)
 
 
m1 = Man("mmmmm",23,"男")
m1.eat()
m1.drink()
 
w1 =Woman("wwwww",22)
w1.get_brith()
w1.eat()
 
三、多態:一種接口,多種實現
做用:接口重用
 
 
 
 
 
 
語法:
調用函數-->
 
方法
構造方法
析構方法:與構造函數正好相反,在實例釋放、銷燬的時候自動執行,一般用於作一些收尾工做,例如:關閉數據庫連接或關閉一些臨時文件
 
私有方法:def __eat():
 
 
 
兩種查詢策略;
廣度優先:python 3.x python 2.x的新式類
深度優先:python 2.x 經典類是按深度優先的查詢策略
相關文章
相關標籤/搜索