2012-05-24 3 views
1

Немного времени назад я нашел интересную запись в блоге, где кто-то показал, как обеспечить, чтобы объект имел определенное поведение. Теперь я хочу сделать это, но я не могу найти блог. Может ли кто-нибудь показать мне синтаксис?Соответствие поведения

ответ

9

Вы имеете в виду структурные типы? Вот пример:

class Duck { 
    def quack = "quack" 
} 

class OtherDuck { 
    def quack = "mooh" 
} 

object Test { 
    def testQuack (d: {def quack: String}) = d.quack 
} 

Тогда вы можете сделать:

Test.testQuack(new Duck) 
Test.testQuack(new OtherDuck) 
+1

Да, это был именно я искал. Спасибо. –

+3

+1 для правильного ответа, основанного на сверхсбросном вопросе. – dhg

+2

Правильное название - «структурный тип», а не утка. –

Смежные вопросы