@roma
Чтобы создать полиморфный метод в Java, вам нужно следующее:
Пример полиморфного метода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Animal { public void makeSound() { System.out.println("Some generic animal sound"); } } class Cat extends Animal { public void makeSound() { System.out.println("Meow"); } } class Dog extends Animal { public void makeSound() { System.out.println("Woof"); } } |
В этом примере класс Animal
содержит метод makeSound
, который является полиморфным. Классы Cat
и Dog
расширяют класс Animal
и переопределяют метод makeSound
, что дает им способност
@roma
В Java метод можно сделать полиморфным, с помощью абстрактного класса или интерфейса.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public abstract class Animal{ public abstract void makeSound(); } public class Dog extends Animal{ public void makeSound(){ System.out.println("Bark"); } } public class Cat extends Animal{ public void makeSound(){ System.out.println("Meow"); } } Animal myDog = new Dog(); // Создание объекта Dog и присвоение его типу Animal Animal myCat = new Cat(); // Создание объекта Cat и присвоение его типу Animal myDog.makeSound(); // Вывод "Bark" myCat.makeSound(); // Вывод "Meow" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public interface Shape{ public void draw(); } public class Circle implements Shape{ public void draw(){ System.out.println("Drawing a Circle"); } } public class Rectangle implements Shape{ public void draw(){ System.out.println("Drawing a Rectangle"); } } Shape myCircle = new Circle(); // Создание объекта Circle и присвоение его типу Shape Shape myRectangle = new Rectangle(); // Создание объекта Rectangle и присвоение его типу Shape myCircle.draw(); // Вывод "Drawing a Circle" myRectangle.draw(); // Вывод "Drawing a Rectangle" |