八葉の日記

日々、感じたことをまとめる場として利用する

キャンセルを伴う継承

 

新装版 マルチパラダイムデザイン

新装版 マルチパラダイムデザイン

  • 作者: ジェームス・O・コプリン,James O. Coplien,平鍋健児,金沢典子,羽生田栄一
  • 出版社/メーカー: ピアソン桐原
  • 発売日: 2009/12/01
  • メディア: 単行本
  • 購入: 3人 クリック: 41回
  • この商品を含むブログ (6件) を見る
 

 

読んでていろいろわからないため、メモ。

 

キャンセルを伴う継承(Inheritance with cancellation)とは、オブジェクト指向でいうと、継承関係のある型ファミリがある際に、派生クラスで基底クラスの振る舞いをCancelすること。

代表的なのでprivate継承で、これを使うと使用した側からは、基底クラスが見えず、基底クラスでしか定義されない振る舞いは根こそぎキャンセルされる。

とうぜんながら、Liscovの置換定理に反しており、オブジェクト指向設計では推奨されない設計となる。

 

じゃあ、どんなときに使うか?

それは、負の可変性(negative variability)を実装するときの手段の一つである。