Принцип наследования является одним из основных принципов объектно-ориентированного программирования (ООП). С помощью наследования один класс может наследовать свойства и методы другого класса (родительского класса), что позволяет избежать дублирования кода и повысить его переиспользуемость.
Наследование нужно для уменьшения дублирования кода и повторного использования кода, что позволяет сократить время разработки и упростить сопровождение программного обеспечения. Если у нескольких классов есть общие свойства или методы, то можно выделить эти общие элементы в базовый класс и наследовать их в других классах.
Когда новый класс наследует свойства и методы родительского класса, он может изменять их или добавлять свои собственные свойства и методы. Таким образом, наследование позволяет создавать дополнительные классы с более сложным поведением на основе уже существующих классов.
В Java наследование осуществляется с помощью ключевого слова extends. Например, если хотим создать класс Cat, который наследует свойства и методы класса Animal, код может выглядеть так:
public class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
public class Cat extends Animal {
public void meow() {
System.out.println("Cat is meowing");
}
}
// Использование класса Cat Cat cat = new Cat();
cat.eat();
// Выводит "Animal is eating" cat.meow(); // Выводит "Cat is meowing"
Класс Cat наследует метод eat() от класса Animal, и также имеет собственный метод meow().
Также можно использовать ключевое слово super для обращения к родительскому классу. Например, если мы хотим передать параметр конструктора класса Cat в конструктор класса Animal, код может выглядеть так:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating");
}
}
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
public void meow() {
System.out.println("Cat is meowing");
}
}
// Использование класса Cat Cat cat = new Cat("Whiskers");
cat.eat();
// Выводит "Whiskers is eating" cat.meow(); // Выводит "Cat is meowing"
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov