ホームページ  >  記事  >  类库下载  >  Java の基礎学習 - 継承の簡単なまとめ

Java の基礎学習 - 継承の簡単なまとめ

高洛峰
高洛峰オリジナル
2016-10-08 13:43:231524ブラウズ

Javaの基礎学習 - 継承の簡単なまとめ


コードリファレンス: Javaの基礎学習ノート - ポリモーフィズム

なぜ継承を導入する必要があるのか​​?

あるいは、CD や DVD を収納できるメディア ライブラリを作成します。 CD と DVD を 2 つの関連のないクラスにすると、このメディア ライブラリを管理するときに、このメディア ライブラリに追加する別の関数と CD を追加する別の関数を作成する必要があります。他のメディア クラスの場合は、別の追加関数を作成する必要があります。このようなコードはスケーラブルではないと言えます。さらに、CD と DVD には、タイトル、再生時間、コメントなど、多くの類似点があります。このようなプログラムにはコードの重複が多く、コードの重複は不正なコードの表れであると言えます。したがって、それらの親クラスを作成し、その親クラスに同じメンバー変数を追加すると、メディア ライブラリに追加するときに、それらの親クラスを追加する関数を作成するだけで、これらの変数を継承できます。も追加できます。

サブクラスは親クラスから何を継承しますか?

継承は、メンバー変数やメンバー関数を含むすべてを親クラスから取得します。ただし、親クラス内のすべてにアクセスできるわけではないため、親クラスから継承したメンバー変数とメンバー関数のアクセス属性を確認してください。親クラスのメンバー変数がプライベートである場合、サブクラスはそれらの変数に直接アクセスできません。ただし、private には親クラス自体からのみアクセスできるため、親クラスの public 関数を呼び出すことで、サブクラス内のこれらのメンバー変数に間接的にアクセスできます。

さらに、サブクラスは、親クラスから継承するだけでなく、独自のクラス内に独自のメンバー変数や関数を記述することもできます。

アクセスプロパティ

アクセスプロパティ 意味

public 誰にでも公開

private 自分だけがアクセスできる

protected 自分、サブクラス、パッケージ内の他のクラスだけがアクセスできる

デフォルト あなたとパッケージ内の他のクラスだけがアクセスできる

super();

にアクセスするには、親クラスのコンストラクターで構築されたメンバー変数をサブクラスのコンストラクターのパラメーター リストに記述し、 super() を使用して親クラスでこれらを構築する必要があります。変数は親クラスから取得されます。コード例については、ポリモーフィズムのブログ投稿を参照してください。

super(); 内のパラメータは、親クラスのどのコンストラクタが呼び出されるかを決定します。 super() 内のパラメータは、呼び出されるコンストラクタのパラメータと同じです。

デフォルトモード (サブクラスコンストラクターに super(); がない場合) では、親クラスにパラメーターのないコンストラクターがデフォルトで呼び出されます。親クラスにそのようなコンストラクターがない場合、Eclipse はエラー。

Override

サブクラスと親クラスに同名の関数がある場合、サブクラスの関数は親クラスから継承した同名の関数をオーバーライド(オーバーライド)するため、親クラスから派生します。 class その関数は非表示になり、機能しません。ただし、親クラスの同じ名前の関数をサブクラスで呼び出したい場合は、 super.function name(); と記述する必要があります。

りー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。