Качина типізація (duck typing)
Коротко: Качина типізація означає: об’єкт оцінюють за тим, що він уміє, а не за тим, до якого класу належить. «Якщо воно ходить як качка і крякає як качка, то це качка».
Докладніше: У динамічних мовах на кшталт Python, Ruby та JavaScript достатньо, щоб в об’єкта були потрібні методи; спільний базовий клас чи інтерфейс не потрібен. Якщо щось не підходить, це помічають лише під час виконання. У Go і TypeScript є статично перевірюваний варіант — структурна типізація.
Подробиці
class Duck:
def quack(self): retuДив. також: поліморфізм, інтерфейс, системи типів, виведення типів