函数的多态性和函数重写的实现方法
发布时间:2023-06-18 01:19:11
函数的多态性和函数重写是面向对象编程中很重要的概念。多态性是指不同的对象可以调用相同的方法,产生不同的结果;函数重写是指子类可以覆盖父类的方法,实现自己的行为。
函数的多态性实现方法:
1. 继承
通过继承,子类可以获得父类的方法,因此可以使用同名的方法,并且可以通过自己的实现产生不同的结果。
例如:
class Animal {
public void sound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
public void sound() {
System.out.println("The dog barks");
}
}
class Cat extends Animal {
public void sound() {
System.out.println("The cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal a = new Animal();
Animal b = new Dog();
Animal c = new Cat();
a.sound();
b.sound();
c.sound();
}
}
输出:
The animal makes a sound The dog barks The cat meows
2. 接口
接口是一组定义了方法签名的集合。实现接口的类必须实现这些方法,从而实现多态性。
例如:
interface Animal {
public void sound();
}
class Dog implements Animal {
public void sound() {
System.out.println("The dog barks");
}
}
class Cat implements Animal {
public void sound() {
System.out.println("The cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal a = new Dog();
Animal b = new Cat();
a.sound();
b.sound();
}
}
输出:
The dog barks The cat meows
函数的重写实现方法:
1. 子类继承父类的方法,并覆盖该方法。
例如:
class Animal {
public void sound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
public void sound() {
System.out.println("The dog barks");
}
}
2. 在子类中定义与父类相同的方法名,并使用@Override注释该方法。
例如:
class Animal {
public void sound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("The dog barks");
}
}
以上就是函数的多态性和函数重写的实现方法。多态性和重写是Java中面向对象编程的重要概念,在实际应用中经常被使用。熟练掌握这些概念和实现方法,有助于提高代码的灵活性和可重用性。
