リスコフの置換原則というものがある。
少なくともそのオリジナル版をごく素直に受け止めるなら
JavaのtoString()をオーバーライドする際に
それに従っている人は皆無だし
そのせいで困っている人もいないはず。
にもかかわらず
リスコフの置換原則を守るべきルールとして
強調しているウェブページはいっぱいあるんだよね。
不可解だ。
補足:
「オブジェクト指向の継承が難しい」
という主張について調べていて
このへんの話にたどり着いた。
継承をわざわざ難しくしている人達が居る。
僕はGo支持者とRust支持者に
なんとなく不信感を抱いていたのだけど
ある程度これで腑に落ちた。