Полиморфизм (информатика)
Полиморфизм — концепция в объектно-ориентированном программировании, представляющая из себя возможность добавления в классы виртуальных методов, реализуемых в классах-потомках.
Классы, содержащие виртуальные методы, называют абстрактными.
Полиморфизм — один из трех важнейших механизмов объектно-ориентированного программирования (наряду с инкапсуляцией и наследованием).
В контексте объектно-ориентированного программирования широчайшей функцией полиморфизма является способность экземпляров подкласса играть роль объектов родительского класса. Благодаря этому, экземпляры подкласса можно использовать там, где используются экземпляры родительского класса.[1]
Полиморфизм позволяет создавать более абстрактные программы и повысить коэффициент повторного использования кода. Общие свойства объектов объединяются в систему, которую можно назвать по-разному — интерфейс, класс. Общие свойства имеют внутреннее и внешнее проявление. Внешне общие черты могут проявляться как одинаковый набор методов с одинаковыми именами и сигнатурами (типами аргументов и значений). На внутреннем уровне общность проявляется в одинаковой функциональности методов. Она описана интуитивно или выражена в виде строгих законов или правил, которым подчиняются методы.
Примеры[править]
В языке C#:
public class Renderable { public abstract void render (); } public class Cube : Renderable { public override void render () { Graphics.RenderCube (); } }
Источники[править]
- ↑ Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes, Essentials of Programming Languages, The MIT Press, 2001, ISBN 0-262-06217-8