python OOP面向对象编程如何实现继承

这篇文章将为大家详细讲解有关python OOP面向对象编程如何实现继承,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

新建一个python文件命名为py3_oop4.py,在这个文件中进行操作代码编写:

#面向对象编程#继承
class Employee:  raise_amount = 1.04#定义列变量  def __init__(self,first,last,pay):    self.first = first    self.last = last    self.email = first + '.' + last +'@email.com'    self.pay = pay
 def 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.10  def __init__(self,first,last,pay,prog_lang):    #使用super继承父类的__init__方法    super().__init__(first,last,pay)    #也可以用    #Employee.__init__(self,first,last,pay)    #不建议这种方式    self.prog_lang = prog_lang
dev_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面向对象编程如何实现继承”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。