オブジェクト指向は難しいです。
クラスを継承して特化する流れの中で、親の持っていた特性が用途にマッチしなくなることがあるのですが、この機能を封印するためにはエラーを起こすしかないのでしょうか。
たとえば ActionScript の Loader なんかが良い例です。 Loader は DisplayObjectContainer を継承しているので表示ツリーを構成できるはずなのですが、これをやると例外が飛びます( Loader の中にはひとつだけ表示オブジェクトを内包できればいいので追加や削除ができる必要はないということ)。こういう対処がベターなのか、それとも設計に問題があるのか疑問に思います。
私のようにスキル不足の人間でも恩恵を受けられる、「軟弱オブジェクト指向」とかあるとありがたいと思います。
Comments
[misc]リスコフの置換原則違反のような
ちょいと気になったので。 ActionScriptは全く知りません。すびばせん。 たとえば ActionScript の Loader なんかが良い例です。 Loader は DisplayObjectContainer を継承しているので表示ツリーを構成で…
Contributions