Я думаю, что здесь важен контекст, мы говорим о встроенных комментариях или общих документах по дизайну?
Для документов по дизайну я думаю, что было бы разумно сказать Я использую утку, набирающую .
В данный момент кода я не уверен, что это полезно говорить.Подумайте, используя какой-нибудь вымышленный язык
function wibble(anObject) {
// what do we say here?
anObject.computeMedianValue();
anObject.render(device);
}
Первое замечание, что мы на самом деле не проверяем, что это утка, в примерах, которые я вижу, код просто выглядит следующим образом:
obj.quack()
Структура программы обычноорганизует, чтобы передавались только те вещи, которые могут крякать.Я не вижу много примеров
if (obj can quack )
obj.quack()
else if ( obj can grunt)
obj.grunt()
, которые не были бы очень полиморфными, но даже если бы мы действительно хотели проверить возможности, мы очень не пишем код
if ( obj isA duck)
вся идея типизации утки заключается в том, что мы учитываем конкретные возможности, которые нам нужны в текущем контексте - хождение (как утка), кряк (как утка), а не «это утка?»
Итакв коде я бы не особо ссылался на типизацию утки, как и на Я делаю объектную ориентацию вокруг стандартной Java-программы.В комментарии может быть сказано, почему вы знаете, что этот объект может вычислить медиану, или что делать, если он не может.