目錄
1、繼承的實際栗子
2、繼承的好處
3、繼承的使用場景
具體可以看下面的【不使用繼承、使用繼承的區別】
4、繼承有幾種?
單繼承多繼承
5、python 中繼承的簡單語法
class parent:
pass
class child(parent):
pass
有個重點:
所有類的都有乙個共同父類,就是 object,缺省會繼承它,寫或不寫都一樣
class parent:
pass
class parent(object):
pass
1、需求背景
有乙個動物類、狗類、貓類
程式設計客棧
2、不使用繼承
類圖需求分析
實際**:
# 不使用繼承
class animal:
def eat(self):
print("吃東西...")
def drink(self):
print("喝水...")
def run(self):
print("跑步...")
class cat:
def eat(self):
print("吃東西...")
def drink(self):
print("喝水...")
def run(self):
print("跑步...")
def miao(self):
print("喵喵叫...")
class dog:
def eat(self):
print("吃東西...")
def drink(self):
print("喝水...")
def run(self):
print("跑步...")
def wang(self):
print("汪汪叫...")
這樣寫有什麼問題?
2、使用繼承
類圖從類圖就能看到,使用繼承就變得簡單多了
需求分析
實際**:
# 使用繼承
class animal:
def eat(self):
print("吃東西...")
def drink(self):
print("喝水...")
def run(self):
print("跑步...")
class cat(animal):
def miao(www.cppcns.comself):
print("喵喵叫...")
class dog(animal):
def wang(self):
print("汪汪叫...")
優勢:專業術語總結
1、什麼是傳遞性
通俗來講
官方來講
實際栗子:
類圖實際**:
class animal:
def eat(self):
print("吃東西...")
def drink(self):
print("喝水...")
def run(self):
print("跑步...")
class cat(animal):
def miao(self):
print("喵喵叫...")
class dog(animal):
def wang(self):
print("汪汪叫...")
class chai(dog):
def shake(self):
print("小柴柴搖尾巴...")
chai = chai()
# 呼叫 父類的父類 的方法
chai.eat()
# 呼叫 父類 的方法
chai.wang()
# 呼叫 自己獨有 的方法
chai.shake()
# 輸出結果
吃東西...
汪汪叫...
小柴柴搖尾巴...
抽象即抽取類似或者說比較像的部分
小栗子:
1、繼承的重點
**栗子:
class animal:
def __init__(self, name, age, ***):
self.__name = name
self.__age = age
self.__*** = ***
# 提取的公共方法
def eat(self):
print(f" 正在吃飯....")
@property
def name(self):
return self.__name
class person(animal):
def walk(self):
print(f" 兩條腿正在走路")
class pig(animal):
def kill(self):
print(f" 豬正在去屠宰場ing...")
class dog(animal):
def wang(self):
print(f" 汪汪叫ing...")
person = person("小菠蘿", 25, "male")
pig = pig("麥兜", 4, "公")
dog = dog("柴犬", 3, "母")
# 呼叫父類的公共方法
person.eat()
pig.eat()
dog.eat()
#程式設計客棧 呼叫子類獨有的方法
person.walk()
pig.kill()
dog.wang()
# 輸出結果
小菠蘿 正在吃飯....
麥兜 正在吃飯....
柴犬 正在吃飯....
小菠蘿 兩條腿正在走路
麥兜 豬正在去屠宰場ing...
柴犬 汪汪叫ing...
物件導向程式設計三大特性
類和物件的關係 類 而物件則是以類為模板所建立的。類的組成 物件建立記憶體模型 1 當程式開始執行,方法區以載入好程式所需類的位元組碼檔案。2 棧記憶體引導程式,當執行到需要建立物件時,會在堆記憶體中建立物件,此時物件的成員變數為初始值,成員方法為位址,指向方法區中的類成員方法。3 堆記憶體中所建立...
python物件導向三大特性
定義 封裝一些資料和方法,只給外界提供必要的功能,掩蓋細節,提高 復用性和系統安全性。資料角度 用乙個類包裝多個變數,還可以定義方法,運算元據 行為角度 不同程式設計師開發乙個專案的不同功能,在使用時,直接呼叫,不需要思考其內部實現 設計角度 1 分而治之 拿到需求之後,分析需求,將需求拆解為不同的...
python物件導向的三大特徵
封裝就是對類和物件的成員訪問進行限制,設定可以訪問的方式和不可以訪問的方式。分類 私有化的封裝 當前類 物件種可以使用,類 物件外和子類 物件都不可以用 受保護的封裝 當前類 物件和子類 子類物件可以使用門,類 物件外不可以使用 公共的封裝 任何位置都可以訪問 例 class father 屬性 男...