System.out.println("Собака лает");
}
}
public class Cat extends Animal {
public void sound() {
System.out.println("Кошка мяукает");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
animal.sound(); // Выводит "Собака лает"
animal = new Cat();
animal.sound(); // Выводит "Кошка мяукает"
}
}
```
В этом примере мы создаем объекты классов `Dog` и `Cat`, которые наследуют от класса `Animal`. Мы затем присваиваем эти переменной `animal` типа `Animal` вызываем метод `sound()`. зависимости объекта, который присвоен `animal`, будет вызван соответствующий
Преимущества наследования и полиморфизма
Наследование и полиморфизм предоставляют несколько преимуществ, включая:
Уменьшение дублирования кода: Наследование позволяет избежать кода, создавая новые классы на основе существующих.
Повышение гибкости: Полиморфизм позволяет объектам принимать разные формы в зависимости от контекста, что делает код более гибким и адаптируемым.
Упрощение поддержки: Наследование и полиморфизм упрощают поддержку кода, позволяя изменять поведение объектов без изменения их внутренней структуры.
В заключении, наследование и полиморфизм – это фундаментальные понятия ООП, которые позволяют создавать более иерархическую структуру классов, избегать дублирования кода повышать гибкость адаптируемость кода. следующей главе мы рассмотрим еще одно важное понятие ООП инкапсуляцию.