课程
/后端开发
/Python
/python进阶
whoAmI方法是不是就是可以理解为:将从父类继承来的子类变为一个与父类同级的类?
2016-07-23
源自:python进阶 5-4
正在回答
这只是表象看起来像是同一个方法,其实是三个有相同名称‘whoAmI’的不同方法,分别属于Person类、Student类、Teacher类的(相当于爸爸跟两个儿子每人都有一瓶农夫山泉,虽然都叫农夫山泉,但实质上是三瓶不同的水)。只不过实例在调用方法时是逐层上升,就是:先看看自己(‘实例’)有没有这个方法,有则调用,若无则向上看看子类(Student或者Teacher)有没有这个方法,有则调用,若无继续向上看看父类(Person)有没有这个方法,有则调用,若无继续向上。。。就这样逐层向上寻找想要的方法,找到就返回,如果都没有,则返回错误。
worry921
笑笑夜雨3580110 提问者
什么跟什么啊,同级的类怎么可能?子类就是子类,父类就是父类,子类的mro跟父类的mro就不同。方法的调用跟函数差不多,???据说是方法跟函数的内部实现方式不一样,不知道具体指哪方面,这个还没有研究明白???,也就是方法只要提供正确的参数,在什么地方都是可以调用的
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计