首页 > 其他 > 详细

继承和子类的定义

时间:2020-12-22 19:51:16      阅读:28      评论:0      收藏:0      [点我收藏+]

一、继承

  继承允许开发者基于已有的类创建新的类。
  如果一个类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,姓名:马红
 
 
 
 
 
 
 
 

继承和子类的定义

原文:https://www.cnblogs.com/szx666/p/14174365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!