這篇文章將為大家詳細講解有關python OOP面向對象編程如何實現繼承,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
新建一個python文件命名為py3_oop4.py,在這個文件中進行操作代碼編寫:
#面向對象編程#繼承class Employee:raise_amount = 1.04#定義列變量def __init__(self,first,last,pay):self.first = firstself.last = lastself.email = first + '.' + last +'@email.com'self.pay = paydef fullname(self):return '{} {}'.format(self.first,self.last)def apply_raise(self):self.pay = int(self.pay * self.raise_amount)#定義子類Developer#繼承父類Employeeclass Developer(Employee):raise_amount = 1.10def __init__(self,first,last,pay,prog_lang):#使用super繼承父類的__init__方法super().__init__(first,last,pay)#也可以用#Employee.__init__(self,first,last,pay)#不建議這種方式self.prog_lang = prog_langdev_1 = Developer('T','Bag',50000,'Python')dev_2 = Developer('Mc','User',6000,'Java')print(dev_1.email)#T.Bag@email.comprint(dev_1.prog_lang)#Python#使用help查看Developer類的使用#print(help(dev_1))#定義一個子類Managerclass Manager(Employee):def __init__(self,first,last,pay,employees=None):super().__init__(first,last,pay)if employees is None:employees = []else:self.employees = employees#添加員工def add_emp(self,emp):if emp not in self.employees:self.employees.append(emp)#刪除員工def remove_emp(self,emp):if emp in self.employees:self.employees.remove(emp)#打印員工全名def print_emps(self):for emp in self.employees:print('---->',emp.fullname())mgr_1 = Manager('Su','DaQiang',100000,[dev_1])print(mgr_1.email)#Su.DaQiang@email.commgr_1.print_emps()#----> T Bagmgr_1.add_emp(dev_2)mgr_1.print_emps()#----> T Bag#----> Mc Usermgr_1.remove_emp(dev_2)mgr_1.print_emps()#----> T Bag#使用內置方法#isinstance():判斷實例#issubclass():判斷子類print(isinstance(mgr_1,Manager))print(isinstance(mgr_1,Employee))print(isinstance(mgr_1,Developer))print(issubclass(Developer,Employee))print(issubclass(Manager,Employee))print(issubclass(Manager,Developer))
運行結果:
T.Bag@email.comPythonSu.DaQiang@email.com----> T Bag----> T Bag----> Mc User----> T BagTrueTrueFalseTrueTrueFalse
關于“python OOP面向對象編程如何實現繼承”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。