Химия: вещество с разными кристаллическими структурами
Одно и то же химическое соединение или элемент, способный существовать в нескольких формах (модификациях) с различным расположением атомов в кристаллической решетке. Эти формы называются полиморфными модификациями.
Близкие слова
- кристаллическая модификация
- аллотропТермин применяется преимущественно к простым веществам, тогда как полиморф — более широкое понятие, включающее и сложные соединения.
Углерод является классическим примером полиморфа, так как существует в виде алмаза и графита.
Карбонат кальция встречается в природе в нескольких полиморфных формах: кальцит, арагонит и ватерит.
Биология: множественная изменчивость
Явление, при котором у особей одного вида наблюдаются две или более четко выраженные дискретные формы, различающиеся по окраске, размеру или другим признакам. Часто связано с защитной мимикрией или адаптацией к среде.
Близкие слова
- полиморфизм
- вариант вида
Бабочка-парусник демонстрирует высокий уровень полиморфизма в окраске крыльев у разных популяций.
Полиморфные формы муравьев различаются размером и функциями внутри одной колонии.
Программирование: принцип ООП
Свойство объектно-ориентированного программирования, позволяющее использовать единый интерфейс для работы с объектами различных типов. Конкретное поведение метода определяется типом объекта в момент выполнения программы.
Близкие слова
- динамическая связываниеЭто механизм реализации полиморфизма, а не его синоним в строгом смысле.
- интерфейсная полиморфия
Метод draw() может вызывать отрисовку круга у объекта Circle и квадрата у объекта Square при одинаковом синтаксисе вызова.
Полиморфизм позволяет писать обобщенный код, который работает с любым классом, реализующим нужный интерфейс.
Разграничение понятий: полиморфизм и аллотропия
В химии важно различать термины. Полиморфизм относится к соединениям (например, карбонат кальция), тогда как аллотропия — к простым веществам (кислород O2 и озон O3). Оба явления описывают существование одного вещества в разных формах, но объект применения разный.
Гетероформизм часто используется как синоним полиморфизма, но иногда подразумевает более широкое понятие, включая не только кристаллические структуры, но и аморфные состояния или разные конформации молекул.
Значение полиморфизма в программировании
В разработке ПО полиморфизм не является самостоятельным объектом, а скорее свойством системы. Поэтому слово «полиморф» реже используется как существительное для обозначения конкретного объекта (в отличие от химии), чаще говорят о «полиморфном методе» или «полиморфной переменной». Это различие важно учитывать при переводе технической документации.
Существует также параметрический полиморфизм (дженерики в Java/C++), который позволяет писать код, работающий с любым типом данных без потери типобезопасности. Это отдельная ветвь понятия, не связанная напрямую с наследованием классов.