python不像java,c++等面向对象一样存在着多态和重载的问题,在python中用缺省参数很好的实现了多态和重载,同时python是不需要声明变量类型的,所以很多方法是可以共用的,在python中只存在着重写。
一.多态的实现
class Student(object): def __init__(self,name=None,age=None,grade=None): self.name=name self.age=age self.grade=grade def get_name(self): return self.name def get_age(self): return self.age def get_maxGrade(self): return sorted(self.grade,reverse=True)[0]这样可以解决函数传递参数的不同
二.重载与重写的区别
1.重写必须继承,重载不用。
2.重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同。
3.重写的方法修饰符大于等于父类的方法,重载和修饰符无关。
4.重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常