为什么子类的构造函数中需要传入父类的参数

来源:9-14 继承.

德瑞德

2017-10-10

我的理解是在 class Student(Human) 中就已经继承了 Human 类中的构造函数了(因为可以传入参数并且打印出来),为什么还要在 Student 子类的构造函数中再写一次呢?http://img1.sycdn.imooc.com/szimg/59dcc5bf00010f1103850127.jpg

写回答

2回答

chipinzhen

2017-10-11

你在代码中确实继承了父类, 你传入参数可以打印出来,但是这没有意义呀。 你想新用的子类肯定要有自己的更多的特性,所以你很可能就要再传入更多的参数 来实现子类更多的功能。 就像上图中的东西 ,人类定义学校的参数是不合理的,你在继承了人类的学生类中有学校这个定义更加合理, 所以在子类的函数构造中要有新的构造函数来传入这个参数,当然有了新的构造函数以后 原来的父类的构造函数就没有办法调用了 所以在子类的构造方法中再次调用父类构造函数。

1
2
德瑞德
非常感谢!
2017-10-12
共2条回复

7七月

2017-10-10

因为可以传入参数并且打印出来,这点可以具体说明下吗。我觉得你是在用其他语言的编程想再考虑这个问题。

0
3
德瑞德
chipinzhen 同学的答案解决了我的问题~有新的构造函数以后,父类构造函数就没法调用了!感谢老师回复
2017-10-12
共3条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14446 学习 · 4438 问题

查看课程