Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

duck typing

オブジェクト指向における Liskov Substitution Principle は「置き換え対象のオブジェクトのクラスに親子関係があるとき……」という条件だったが、それを緩和して、同じ interface なら(public な (?) interface の signature が全て同じなら)置き換えてもいいじゃん、としたもの。言いかえれば、クラスの名前自体は型を規定しないということ。
http://c2.com/cgi/wiki?DuckTyping
Python は基本的にコレらしいよ。