Немного про полиморфизм простыми словами 🤓
Мы постоянно пишем наши приложения и слово полиморфизм кажется нам само собой разумеющимся и понятным, весь мир нам понятен и мы - в абсолюте преисполнены в его познании.
Часто мы видим полиморфизм так: (В примерах чуть непривычный синтаксис из-за обрезки некоторых символов в Сетке)
1) Условный пример на принцип Барбары-Лисков или базовый-дочерний класс // Есть некоторый интерфейс / базовый класс interface Animal { say(msg) } … // И есть его потомки class Dog implement Animal { say(msg) { гав } } class Cat implement Animal { say(msg) { мяв } } … // У нас есть питомцы - каждый из низ говорит по-своему List Animal pets = [Dog(), Cat()] for pet in pets { pet.say() // Собакен делает “гав”, котофей “мяв” }
2) Есть известные всем дженерик // Допустим, что-то суммируем для разных числовых типов sum T:numeric(…args: List T) { … } … sum int(1, 2, 3, 4) sum float(3.14, 1.5)
Часто слышим фразу, описывающую полиморфизм: "один интерфейс - множество реализаций.
А если дальше и хочется выйти чуть за рамки привычного, рекомендую данную статью, она не сложная и интересная, дает больше понимания что такое полиморфизм и каким он бывает: https://medium.com/devschacht/polymorphism-207d9f9cd78
· 09.01
👍🏻
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён