一、继承

  继承允许开发者基于已有的类创建新的类。
  如果一个类C1通过继承已有类C而创建,则将C1称作子类(subclass),将C称做基类、父类或超类(base class、super class)。子类会继承父类中定义的所有属性和方法,另外也能够在子类中增加新的属性和方法。
  如果一个子类只有一个父类,则将这种继承关系称为单继承;如果一个子类有两个或更多父类,则将这种继承关系称为多重继承。
 
二、子类的定义
定义子类时需要指定父类,其语法格式为:
  class 子类名(父类名1, 父类名2, …, 父类名M):
  语句1
  语句2
  …
  语句N
当M等于1时,则为单继承;当M大于1时,则为多重继承。
 
例:继承示例。
class Person: #定义Person类 
    def SetName(self, name): #定义SetName方法 
        self.name=name #将self对应对象的name属性赋为形参name的值 
class Student(Person): #以Person类作为父类定义子类Student 
    def SetSno(self, sno): #定义SetSno方法 
        self.sno=sno #将self对应对象的sno属性赋为形参sno的值    
class Teacher(Person): #以Person类作为父类定义子类Teacher 
    def SetTno(self, tno): #定义SetTno方法 
        self.tno=tno #将self对应对象的tno属性赋为形参tno的值 
class TA(Student,Teacher): #以Student类和Teacher类作为父类 #定义子类TA 
    def SetTeacher(self, teacher): #定义SetTeacher方法 
        self.teacher=teacher #将self对象的teacher属性赋为形参 #teacher的值
if __name__=='__main__': 
    stu=Student() #定义Student类对象stu 
    stu.SetSno('1810100') #调用Student类中定义的SetSno方法 
    stu.SetName('李晓明') #调用Student类从Person类继承过来的SetName #方法 
    print('学号:%s,姓名:%s'%(stu.sno,stu.name)) #输出学号和姓名 
    t=Teacher() #定义Teacher类对象t 
    t.SetTno('998012') #调用Teacher类中定义的SetTno方法 
    t.SetName('马红') #调用Teacher类从Person类继承过来的SetName方法 
    print('教工号:%s,姓名:%s'%(t.tno,t.name)) #输出教工号和姓名
学号:1810100,姓名:李晓明
教工号:998012,姓名:马红
 
 
 
 
 
 
 
 
posted on 2020-12-22 17:51  史振兴  阅读(925)  评论(0编辑  收藏  举报