override就是重写,不改变函数的输入和输出,重写函数的代码块功能。(Python)
overload就是重载,改变函数的输入和输出。即同一个方法名可以支持多种类型的参数输入.(Java)
举个java的例子:
下面是重载的例子:

public class test0225 {
    public static void main(String[] args) {
    person p1 = new person();
    p1.walk();
    p1.walk("zhangsan");
    }
}
class person{
    void walk(){
        System.out.println("正常在走");
    }
    void walk(String name){
        System.out.println(name+":使用拐杖在走");
        
    }
}

打印结果:

正常在走
zhangsan:使用拐杖在走

上面是普通的成员方法的重载。
实际上Python只有重写,没有严格上Java的重载的概念。重写就是子类继承父类之后,重写了父类的方法。
下面给出一个Python的重写的例子:

class Animal():
	def run(self):
		print("Animal is running")

class Dog(Animal):
	def run(self):  #重写了父类的方法
		print("Dog is running")
dog = Dog()
A = Animal()
A.run()
dog.run()

运行结果:

Animal is running
Dog is running

可以看到子类重写了父类的方法,直接覆盖了父类的run方法。

Logo

一站式 AI 云服务平台

更多推荐