```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() {