Программирование на Java: Руководство для опытных разработчиков - страница 9

Шрифт
Интервал



```java


моиАвтомобиль.едет(); // Вывод: Автомобиль едет!


```


Наследование и полиморфизм


Классы и объекты также позволяют реализовать наследование полиморфизм. Наследование позволяет создавать новые классы на основе существующих, а полиморфизм объектам иметь разные формы поведение в зависимости от контекста.


Заключение


В этой главе мы рассмотрели основы классов и объектов в Java. Мы научились создавать классы объекты, а также поняли, как они связаны между собой. следующей рассмотрим более подробно наследование полиморфизм, другие важные аспекты ООП.


3.2. Наследование и полиморфизм


В предыдущей главе мы рассмотрели основы объектно-ориентированного программирования (ООП) и познакомились с концепцией классов объектов. Теперь перейдем к двум фундаментальным понятиям ООП: наследованию полиморфизму.


Наследование


Наследование – это механизм, позволяющий создавать новые классы на основе существующих. Идея наследования заключается в том, что новый класс (подкласс) может наследовать свойства и поведение от существующего класса (суперкласса). Это позволяет избежать дублирования кода более иерархическую структуру классов.


В Java наследование реализуется с помощью ключевого слова `extends`. Например:


```java


public class Animal {


public void sound() {


System.out.println("Животное издает звук");


}


}


public class Dog extends Animal {


public void sound() {


System.out.println("Собака лает");


}


}


```


В этом примере класс `Dog` наследует от класса `Animal` и переопределяет метод `sound()`. Теперь мы можем создать объект вызвать `sound()`, который будет выводить сообщение "Собака лает".


Полиморфизм


Полиморфизм – это способность объекта принимать разные формы в зависимости от контекста. В Java полиморфизм реализуется с помощью методов, которые могут быть переопределены подклассах.


Полиморфизм бывает двух видов: статический и динамический. Статический полиморфизм происходит при компиляции, когда компилятор определяет, какой метод вызвать в зависимости от типа объекта. Динамический во время выполнения, JVM


В Java полиморфизм реализуется с помощью методов, которые объявлены в суперклассе и переопределены подклассах. Например:


```java


public class Animal {


public void sound() {


System.out.println("Животное издает звук");


}


}


public class Dog extends Animal {


public void sound() {