или abstract, а его потомки должны иметь модификатор override. Три механизма, обеспечивающие полиморфизм Под полиморфизмом в ООП понимают способность одного и того же программного текста x.M выполняться по-разному, в зависимости от того, с каким объектом связана сущность x. Полиморфизм гарантирует, что вызываемый метод M будет принадлежать классу объекта, связанному с сущностью x. В основе полиморфизма, характерного для семейства классов, лежат три механизма: - одностороннее присваивание объектов внутри семейства классов; сущность, базовым классом которой является класс предка, можно связать с объектом любого из потомков. Другими словами, для введенной нами последовательности объектов xk присваивание xi = xj допустимо для всех j >=i;
- переопределение потомком метода, наследованного от родителя. Благодаря переопределению, в семействе классов существует совокупность полиморфных методов с одним именем и сигнатурой;
- динамическое связывание, позволяющее в момент выполнения вызывать метод, который принадлежит целевому объекту.
В совокупности это и называется полиморфизмом семейства классов. Целевую сущность часто называют полиморфной сущностью |