欢迎访问宙启技术站
智能推送

函数的多态性和函数重写的实现方法

发布时间: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中面向对象编程的重要概念,在实际应用中经常被使用。熟练掌握这些概念和实现方法,有助于提高代码的灵活性和可重用性。