Javaの継承とは何ですか

angryTom
リリース: 2019-11-11 10:48:56
オリジナル
10045 人が閲覧しました

Javaの継承とは何ですか

#Java の継承とは

継承はオブジェクト指向の最も重要な機能です。継承とは、既存のクラスから新しいクラスを派生させることであり、新しいクラスは既存のクラスのデータ属性と動作を吸収し、新しい機能を拡張できます。

Java 継承は、既存のクラスの定義をベースとして新しいクラスを作成する技術です。新しいクラスの定義では、新しいデータや新しい関数を追加したり、既存のクラスの関数を使用したりできます。ただし、親クラスから選択的に継承することはできません。このテクノロジーにより、以前のコードの再利用が非常に簡単になり、開発サイクルを大幅に短縮し、開発コストを削減できます。 (推奨チュートリアル: java チュートリアル)

たとえば、最初に車というクラスを定義できます。車には次の属性があります: ボディ サイズ、色、ハンドル、タイヤと車 このクラスは、車とトラックの 2 つのクラスを派生させ、車に小さなトランクを追加し、トラックに大きな貨物ボックスを追加します。

java の継承特性:

(1) 継承関係は推移的です。クラス C がクラス B を継承し、クラス B がクラス A を継承する場合 (多重継承)、クラス C はクラス B から継承したプロパティとメソッドだけでなく、クラス A から継承したプロパティとメソッドも持ち、さらに独自のプロパティやメソッドを持つこともできます。新しいプロパティとメソッド 定義されたプロパティとメソッド。継承されたプロパティとメソッドは、暗黙的ではありますが、依然としてクラス C のプロパティとメソッドです。継承は、より一般的なクラスに基づいて新しいクラスを構築、確立、拡張する最も効果的な方法です。

(2) 継承により、人々の理解と説明が簡素化され、関連するクラス間の階層関係を明確に反映できます。

(3) 継承によりソフトウェアの再利用機能が提供されます。クラス B がクラス A を継承する場合、クラス B を作成するときに、基本クラス (クラス A) とは異なるいくつかの機能 (データ メンバーとメンバー メソッド) を記述するだけで済みます。このアプローチにより、コードとデータの冗長性が軽減され、プログラムの再利用性が大幅に向上します。

(4) 継承は一貫性を高めることでインターフェースやモジュール間のインターフェースを減らし、プログラムの保守性を大幅に高めます。

(5) 多重継承メカニズムを提供します。理論的には、クラスは複数の一般クラスの特殊クラスになることができ、複数の一般クラスからプロパティとメソッドを継承できます。これが多重継承です。セキュリティと信頼性の理由から、Java は単一継承のみをサポートし、インターフェース メカニズムを使用して複数の継承を実装します。

#例: #親クラス person

##

/**
 * 父类 人类
 * 
 * @author zkj
 *
 */
public class Person {
 
	// 名字
	protected String name;
	// 编号
	protected int id;
	// 工作环境
	protected String environment;
	// 特长
	protected String speciality;
 
	public Person(String myName, int myid, String myEnvironment, String mySpeciality) {
		name = myName;
		id = myid;
		environment = myEnvironment;
		speciality = mySpeciality;
	}
 
	/*
	 * 工作地点
	 */
	public void work() {
		System.out.println(name + "在" + environment + "工作" + '。');
	}
 
	/*
	 * 工作能力
	 */
	public void ability() {
		System.out.println(name + "我会" + speciality + '。');
	}
 
	/*
	 * 自我介绍
	 */
	public void introduction() {
		System.out.println("大家好!我是" + id + "号" + name + '。');
	}
}
ログイン後にコピー

サブクラス:

#

package com.zkj.person;
 
/**
 * 人类的子类 医生类
 * 
 * @author zkj
 *
 */
public class Doctor extends Person {
 
	public Doctor(String myName, int myid, String myEnvironment, String mySpeciality) {
		super(myName, myid, myEnvironment, mySpeciality);
 
	}
 
	/*
	 * 自我介绍
	 */
	void introductionMy() {
		super.introduction();
	}
 
	/*
	 * 自我介绍 覆写
	 */
	public void introduction() {
		System.out.println("大家好!我是一名医生");
	}
 
	/*
	 * 工作职责
	 */
	public void duty() {
		System.out.println("治病救人是我的职责");
	}
}
ログイン後にコピー
実行:

public class Run {
	public static void main(String[] args) {
		// 医生张三
		Doctor doctor = new Doctor("张三", 1, "医院", "诊断");
		// 张三的自我介绍
		doctor.introduction();
		// 张三的工作地点
		doctor.work();
		// 张三的能力
		doctor.ability();
		// 张三的职责
		doctor.duty();
	}
}
ログイン後にコピー

以上がJavaの継承とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート