Skip to content

Instantly share code, notes, and snippets.

@GubaEvgeniy
Last active September 5, 2019 11:33
Show Gist options
  • Select an option

  • Save GubaEvgeniy/8ae199779b462c75151d33774131a8f8 to your computer and use it in GitHub Desktop.

Select an option

Save GubaEvgeniy/8ae199779b462c75151d33774131a8f8 to your computer and use it in GitHub Desktop.

Наверх

Полиморфизм

OOP - тяжело формализируемое понятие, у которого очень много аспектов. Существует как минимум два вида ООП, одно сформулированное Аланом Кеем, создателем языка SmallTalk, и другое - то, которое про полиморфизм, наследование и инкапсуляцию (Гради Буч). В современном мире, обычно под ООП имеют в виду второе, хотя первое живёт и здравствует во многих языках. Но даже когда мы говорим про второй вид ООП, всё равно разные языки делают акцент на разные возможности. То, что в одних языках считается признаком настоящего ООП, в других неприемлемо.

Если попытаться как-то обобщить и найти самое фундаментальное, то чем обладают все ООП-языки (по Бучу), то скорее всего общей точкой соприкосновения окажется полиморфизм подтипов.

Полиморфизм (подтипов), пожалуй, самая важная отличительная черта современного объектно-ориентированного программирования. Бенджамин Пирс. Автор книги Теория Типов В Языках Программирования.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment