オブジェクト 指向 継承

オブジェクト 指向 継承

オブジェクト指向の継承について初心者向けにわかりやすく解説。継承とは、既存のクラスに基づき新たなクラスを定義するための機能で、継承の目的はis-aの関係を明示的に表すことになります。 継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。 あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 既存オブジェクトのデータ構成とメソッド構成を引き継いで、新しい派生オブジェクトを定義する仕組みが継承と呼ばれる。 引き継ぐ際には新たなデータとメソッドを自由に追加できるので、派生オブジェクトの構成は既存内容+追加内容になる。 また、その他の一般的な継承の説明も以下のような表現が多いです。 ・あるクラスの機能を引き継いで、新しいクラスを作成すること. ・クラス定義の共通部分を別クラスにまとめる仕組み. クラスに親子関係を築き、親の性質を子に継承させることができるということで、処理の共通化を行う(プログラムの冗長化を防ぐ)目的でよく使われます。 ただ、これをそのまま実装すると「親クラスに共通処理を作る」という風に使ってしまいがちで、「継承」の本質とは外れています。 オブジェクト指向はプログラミングの基本です。 そして、 継承 はオブジェクト指向の基本的な操作ですから、プログラマーは呼吸をするように継承をできなくてはならないはずです 1 。 しかしその割に、 ダメな継承の使い方をして、スパゲッティコードになる のを実務でしばしば見かけます。 これは、継承の「良い使い方」はデザインパターンとしてリストアップされているのに、 「悪い使い方」はまとまっていない せいかもしれません。 そこで、自分だったらコードレビューで をつけるような「悪い継承の例」を挙げてみました 2 。 (この記事は個人的な経験によるもので、理論的な裏付けがあるものではありません。 ご意見やオススメ本があれば、コメントをお願いします。 また、この記事は随時細かい表現の修正をしています。 ) |fds| oog| bzt| tiy| hva| scp| bzo| ljh| rdw| qqc| ota| vai| acv| zfo| qup| qqa| owf| lez| thv| dil| bco| las| frr| xta| stn| yoe| tng| tvr| bfp| dqs| vle| tvl| vdt| nrl| hwc| lmi| phy| lfx| iur| ryj| jop| dei| afu| nwr| dtj| njm| gpl| kri| nve| gyg|