55
Свойства системы, позволяющие описать новый класс на основе уже
существующего с частично или полностью заимствующейся функциональностью.
Класс, от которого
производится наследование, называется базовым,
родительским или суперклассом. Новый класс — потомком, наследником, дочерним
или производным классом. Общие свойства и
методы объектов можно вынести в
класс-«родитель». Все «дети»-наследники автоматически получают их.
Пример: класс домашнее животное:
public class Pet {
private String name;
private int age;
public Pet() { this("Unnamed");}
public Pet(String name) {name = "Unnamed";}
public Pet(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) { this.name = name;
}
public String getName() { return name; }
public void requireToPat() {}
public String getType() { return "
Домашнее
животное
"; }
}
Пример: класс кот.
public class Cat extends Pet {
private
Date lastMeowDate;
public Cat() { this("Unnamed"); }
public Cat(String name) { super(name); }
public Cat(String name, int age) { super(name, age);
}
@Override
public String getType() { return "
Кот
"; }
public void meow() {
System.out.println
("Meow!");
lastMeowDate = new Date();
}
}
56
Рисунок 3.2 – Схема наследования
super() означает ссылку на базовый класс, которую
можно использовать в
дочерних классах. Overriding – переписывание (переделывание, переопределение) в
классе-потомке уже существующего метода класса-родителя.
3.2 Аннотирование в Java.
Специальная форма синтаксических метаданных,
которая может быть
добавлена в исходный код. Аннотации используются для анализа кода, компиляции
или выполнения. Аннотируемы пакеты, классы, методы, переменные и параметры.
Например: @Override - проверяет, переопределён ли метод. Вызывает ошибку
компиляции, если
метод не найден в родительском классе;
UML диаграмма отношения классов – наследование (рисунок 3.3).
Рисунок 3.3 – Отношение классов
Достарыңызбен бөлісу: