12章部分型
これまでの第Ⅱ部の内容は、独自のデータ型の作成とインタフェースの定義に重点を置いてきた。しかし、データ型はそれぞれ独立した形で存在するのではなく、互いに関連することが多い。すでに、データ型が他のデータ型をメンバとして使うコンポジションは示した。この章では他のデータ型を基底として新しいデータ型を作る部分型について学ぶ。
部分型を適切に使えば、コードベースの拡張が驚くほど簡単になる。コードベースを壊さずに新しい振る舞いを導入できる。一方で、部分型を扱う際は注意が必要である。下手すると、思わぬ形でコードベースのロバストネスを損ねることになる。
まず、もっとも一般的な部分型である継承から説明しよう。従来、継承はオブジェクト指向プログラミング(OOP)の支柱とみなされている†1。継承は正しく適用しないと面倒なことになる。次に、別の部分型に移る。また、SOLID原則の1つであるリスコフの置換原則についても学ぶ。この章は部分型が適切なのはいつ、どのような場面か、適切ではないのはどの場面かを理解するのに役に立つ。
[†1] オブジェクト指向プログラミング(OOP)は、データとその振る舞いをカプセル化したものを中心としてコードを組織していくというプログラミングパラダイムである。OOPの解説書を読みたい読者には、Brett McLaughlin, Gary Pollice, and Dave West, Head First Object-Oriented Analysis and Design, O'Reilly. 邦訳『Head Firstオブジェクト指向分析設計』(オライリー・ジャパン、2007年)を勧める。
12.1 継承
部分型の話題となると、大半の開発者はすぐに継承を思い浮かべるだろう。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access