学習記録
2020-10-02に投稿

プロを目指す人のためのRuby入門

7.6 クラスの継承

DVDクラスがProductクラスを継承すると、そこにスーパークラスとサブクラスの関係が生まれる。

継承でよくある誤解として「クラスの機能を全部引き継ぐ」という考えがある。
この考えだと非常に扱いづらいクラスが出来上がるので、「性質や概念の共通点」に着目する必要がある。
こう考えるための概念として「is-aの関係」がある。
例えば、販売管理システムにおける「DVDは商品の1種である(DVD is a product)」の関係は違和感がないはず。

OOPの参考書として「オプジェクト指向設計ガイド」がある。

7.6.1 標準ライブラリの継承関係

Rubyの継承は単一継承。(ミックスインという多重継承に似た機能は8章で説明)
継承関係の頂点にはBasicObjectクラスがあるが、特殊な用途でない限りObjectクラスが頂点と考えて良い。
(Ruby1.9以前はObjectクラスが継承関係の頂点にいた。)


dychw
学習記録
所有者限定モードのためこのボードには投稿できません
コメント
学習記録