鸭子类型(Duck typing)是这样一条原则:一个对象是否适用,取决于它响应哪些方法,而非它的类或类型——“如果它走起来像鸭子、叫起来像鸭子,那它就是鸭子。”在 Ruby 中,你关心的是一个对象能否做某件事(拥有对应的方法),而不是它是什么类型。这使得无需继承或接口就能编写灵活的多态代码。
原则:行为重于类型
()
duck.quack
=
=
make_it_quack(.new)
make_it_quack(.new)
