Википедия говорила * о утка-типизация:
В компьютерном программировании с объектно-ориентированные языки программирования, утиная типизация - стиль динамического ввод, в котором текущий объект набор методов и свойств определяет действительную семантику, а чем его наследование от конкретного класса или реализации конкретного интерфейс.
(* Примечание: Поскольку этот вопрос был опубликован, статья Википедии была отредактирована для удаления слова "динамический".)
В нем описывается структурная типизация:
Система структурного типа (или основанная на собственности система) является основным класс типа системы, в котором тип совместимость и эквивалентность определяется структурой типа, а не через явные декларации.
Это контрастирует структурный подтипирование с утиным типом:
[Структурные системы] контрастирует с... утка, в которой только часть структуры, доступ к которой время выполнения проверяется на совместимость.
Однако термин "утка-типизация" мне кажется, по крайней мере, для интуитивного подбора структурных систем подпечатывания. Фактически Wikipedia говорит:
Название понятия [утка-типизация] ссылается на утиный тест, приписываемый Джеймс Уиткомб Райли, который может быть сформулирован как следует: "Когда я вижу птицу, которая ходит как утка, и плавает, как утка и кляки, как утка, я называю эту птицу утка".
Итак, мой вопрос: почему я не могу назвать структурный подтипирование утиной печати? Существуют ли даже динамически типизированные языки, которые также нельзя отнести к типу?
Постскриптум:
Как кто-то назвал daydreamdrunk на reddit.com, поэтому красноречиво положить-это "Если он компилируется как утка и ссылки, как утка..."
Пост-постскриптум
Многие ответы, похоже, в основном просто перефразируют то, что я уже цитировал здесь, не обращаясь к более глубокому вопросу, поэтому не следует использовать термин "утиная печать" для покрытия как динамического набора текста, так и структурного подтипа? Если вы хотите только поговорить о наборе утиных, а не о структурном подтипе, просто назовите его: динамический поиск элементов. Моя проблема в том, что ничего не говорит о термине duck-typing, это относится только к динамическим языкам.