代码如下:
class Student(object): def __init__(self,name,age,school): self.__name = name self.__age = age self.__school = school def toString(self): print('我是%s,我%s 岁了,在%s 上学.' %(self.__name,self.__age,self.__school)) class XiaoMing(Student): def __init__(self,name,age,school): self.__name = name self.__age = age self.__school = school ''' 覆写父类 toString()方法''' # def toString(self): # print('我是%s,我%s 岁了,在%s 上学.' %(self.__name,self.__age,self.__school)) ''' 接受 Student 任何子类对象''' def fun(stu): stu.toString() ###测试 xm = XiaoMing('小明',25,'北大') fun(xm) 按照继承, XiaoMing继承自 Student, 且属性是一模一样的,则toString函数再写一遍是多余的, 道理讲,应该直接使用父类的 toString方法,就可以了, 但是我去掉XiaoMing的toString方法后,就找不到 自身实例的私有属性了, 因为 python 解释器将私有属性名改变了, 我就觉得在这里多态基本都是废的, 代码复用完全无效了,
顺便问下大家, 继承/多态 在python中还有那些有用的地方?
