class user(): # 定義乙個名為user的類
"""使用者類"""
def __init__(self, username, password):
"""初始化屬性username和password"""
self.username = username
self.password = password
def login(self):
"""使用者登入"""
print("使用者需要登入了!!!")
def register(self):
"""使用者註冊"""
print("使用者需要註冊了!!!")
# 3、繼承
# 如果你要編寫的類有另乙個類現成的屬性和方法,可使用繼承
# 乙個類繼承另乙個類時,將自動獲取另乙個類的所有屬性和方法
# 原有的類稱為父類,而新類則稱之為子類
# 子類繼承了父類的所有屬性和方法,同時還能夠定義自己的屬性和方法
# 建立子類的例項時,python首先需要給父類的所有屬性賦值
# 3.1 子類的方法__init__()
# 建立子類時,父類必須包含在當前檔案中,且位於子類的前面
# 定義子類時,必須在括號內指定父類的名稱,方法__init__()接收建立父類例項所需要的資訊
# super()函式將父類和子類關聯起來,故父類也稱為超類
class vipuser(user):
"""vip使用者"""
def __init__(self, username, password):
"""初始化父類的屬性"""
super().__init__(username, password)
self.free = true # 新增乙個屬性,vip使用者擁有很多免費特權,並設定其初始值為true
def get_free(self):
"""獲取更多的免費特權"""
print("我能夠每天簽到領獎")
print("我能夠獲取更多的優惠")
def register(self): # 重寫父類的register()方法
print("vip使用者註冊即可領取大禮包")
vip_user = vipuser("李世民", "123") # 建立vipuser類的乙個例項
vip_user.register() # 呼叫父類的register()方法(由於在本例中重寫了父類的register()方法,因此執行的是子類重寫的register()方法)
vip_user.login() # 呼叫父類的login()方法
# 3.2 給子類定義屬性和方法
# 讓乙個類繼承另乙個類後,可新增區分子類和父類所需的新屬性和方法。
# 給vipuser類新增乙個free屬性和乙個get_free()方法
# 子類可以新增任意數量的屬性和方法
# 如果乙個屬性或方法是父類都有的,而不是子類特有的,就應該將其加入到父類而不是子類中
vip_user.get_free() # 呼叫get_free()方法
# 3.3 重寫父類的方法
# 對於父類的方法都可以根據需要進行重寫
# 在子類中定義乙個與父類相同的方法,即它與要重寫的父類方法同名
# python將不會考慮這個父類的方法,只會關注你在子類中重寫的相應方法
# 在上面的例子中重寫了父類的register()方法
vip_user.register() # 呼叫重寫的register()方法
python怎麼繼承類 python類的繼承
一 概述 二 類的繼承 2.1 繼承的定義 2.2 建構函式的繼承 2.3 子類對父類方法的重寫 三 類繼承的事例 一 概述 物件導向程式設計 oop 語言的乙個主要功能就是 繼承 繼承是指這樣一種能力 它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。通過繼承建立...
python類的繼承重構 python類繼承與重構
python類繼承與重構 0 物件 通過類定義的資料結構例項。物件包括兩個資料成員 類變數和例項變數 和方法。usr bin python coding utf 8 class employee 所有員工的基類 empcount 0 def init self,name,salary self.na...
Python學習筆記(13) 類
物件導向程式設計是最有效的軟體編寫方法之一。在物件導向程式設計中,你編寫表示現實世界中的事物和情景的類,並基於這些類來建立物件。編寫類時,你定義一大類物件都有的通用行為。基於類建立物件時,每個物件都自動具備這種通用行為,然後可根據需要賦予每個物件獨特的個性。類 class dog def init ...