35項 publicに継承するときは、「その一種である」関係のモデルかどうか確認しよう

publicに継承するときは、「その一種である」関係のモデルかどうか確認しよう


クラスDがクラスBをpublicに継承するとき、「DがBの一種である」という関係を満たすようにします。
「DがBの一種である」ということを、「B is a D」として、"is-a"関係と呼ぶこともあります。



※「DがBの一種である」という関係を満たしていても、public継承を行うべきでないときがあります。
本書には、長方形と正方形の例が挙げられています。
正方形は長方形の一種ですが、正方形が長方形をpublic継承してしまうと、長方形の振る舞い(縦と横の値を自由に変更できる)と正方形の原則(縦と横の値が等しい)が矛盾してしまうので、継承すべきではありません。