首页 > 数据库 > 数据库开发技术 > 【Python】面向对象编程—类的继承
类的继承原理
1.1 类的继承案例引入
1.2 继承类构造函数
1.3 继承的一些特点
类的继承实例

1 类的继承案例引入
#定义Person类,包含姓名、性别、年龄、身高、体重等属性。class Person:def __init__(self, name, gender, age, height, weight):self.name = nameself.gender = genderself.age = ageself.height = heightself.weight = weightdef show(self, end='\n'):print('姓名:',self.name, ';', '性别:', self.gender, ';', '年龄:', self.age, ';', '身高:', self.height, ';', '体重:', self.weight, '。', end=end)
p = Person("阳光明媚","女",18, 163, 104)p.show()

#定义Studengt类,包含所在系别、所在班级、所学专业、姓名、性别、年龄、身高、体重等属性。class Student(Person):def __init__(self, name, gender, age, height, weigh, dept, classes, major):Person.__init__(self, name, gender, age, height, weigh)self.dept = deptself.classes = classesself.major = majordef show(self):Person.show(self, '\n')print("该生所在系别:", self.dept, ';', '班级:', self.classes, ';', '专业:', self.major, '。')
s = Student("阳光明媚","女",18, 163, 104, "数学与金融系", "数学与应用数学1111班", "金融")s.show()

2 继承类构造函数
Person.__init__(self, name, gender, age, height, weigh) 3 python中继承的一些特点

接下来看一个类的继承具体实例。
#定义父类class Person:def __init__(self, n, g, a, h, w):self.name = nself.gender = gself.age = aself.height = hself.weight = wdef show(self, end='\n'):print('姓名:',self.name, ';', '性别:', self.gender, ';', '年龄:', self.age, ';', '身高:', self.height, ';', '体重:', self.weight, '。', end=end)#定义子类1class BeiJingPerson(Person):def __init__(self, n, g, a, h, w, c, ac):Person.__init__(self, n, g, a, h, w)self.city = cself.accent = acdef show(self):Person.show(self, '\n')print("城市:", self.city, ";", "口音:", self.accent, '。')#定义子类2class Student(Person):def __init__(self, n, g, a, h, w, d, c, m):Person.__init__(self, n, g, a, h, w)self.dept = dself.classes = cself.major = mdef show(self):Person.show(self, '\n')print("该生所在系别:", self.dept, ';', '班级:', self.classes, ';', '专业:', self.major, '。')#定义子类3class Teacher(Person):def __init__(self, n, g, a, h, w, c, ms):Person.__init__(self, n, g, a, h, w)self.course = cself.marriage_status = msdef show(self):Person.show(self, '\n')print("老师所教课程:", self.course, ';', '婚姻状况:', self.marriage_status, '。')#调用bj = BeiJingPerson("丽丽","女",25, 168, 105, "北京", "带京腔")bj.show()s = Student("阳阳","女",18, 163, 104, "数学与金融系", "数学与应用数学1111班", "金融")s.show()t = Teacher("安安","女",22, 160, 100, "数学", "未婚")t.show()

可以发现一个父类可以派生多个子类,对应关系可以是一对多。更多的继承方法欢迎大家亲自尝试。
至此,面向对象中的继承已全部讲解完毕,感兴趣的同学可以自己到Python中实现一遍
。


扫一扫关注我
13162366985
投稿微信号、手机
原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。