Наследование
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствованной функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником, производным классом или подклассом.
Пример:
// две окружности
class TwoCircle extends Circle{
public double x1; // абсцисса центра второй окружности
public double y1; // ордината центра второй окружности
public double r1; // радиус второй окружности
⋮
public void printCircle() {
System.out.println("Первая окружность с центром ("+x+";"+y+") и радиусом "+r);
System.out.println("Вторая окружность с центром ("+x1+";"+y1+") и радиусом "+r1);
}
}
Полиморфизм
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Это позволяет использовать метод с одинаковым именем, выполняющий разные действия в зависимости от того, какой объект его вызывает.
Пример:
1 Circle c1 = new Circle();
2 TwoCircle c2 = new TwoCircle();
3 c1.printCircle();
4 c2.printCircle();
Метод printCircle() в третьей строке относится к объекту c1 класса Circle и выводит на экран сведения об одной окружности, метод printCircle() в четвёртой строке относится к объекту c2 класса TwoCircle и выводит сведения о двух окружностях.