#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 サイトの他の関連記事を参照してください。