Heim >Java >JavaBase >Was ist Java-Vererbung?

Was ist Java-Vererbung?

angryTom
angryTomOriginal
2019-11-11 10:48:5610091Durchsuche

Was ist Java-Vererbung?

Was ist Java-Vererbung?

Vererbung ist das wichtigste Merkmal der Objektorientierung. Vererbung ist die Ableitung einer neuen Klasse von einer vorhandenen Klasse. Die neue Klasse kann die Datenattribute und Verhaltensweisen der vorhandenen Klasse übernehmen und neue Fähigkeiten erweitern.

Java-Vererbung ist eine Technologie, die die Definition einer vorhandenen Klasse als Grundlage für die Erstellung einer neuen Klasse verwendet. Durch die Definition einer neuen Klasse können neue Daten oder neue Funktionen hinzugefügt oder deren Funktionen verwendet werden die übergeordnete Klasse, aber Sie können nicht selektiv von übergeordneten Klassen erben. Diese Technologie macht es sehr einfach, vorherigen Code wiederzuverwenden, was den Entwicklungszyklus erheblich verkürzen und die Entwicklungskosten senken kann. (Empfohlenes Tutorial: Java-Tutorial)

Sie können beispielsweise zunächst eine Klasse namens Auto definieren. Das Auto hat die folgenden Attribute: Karosseriegröße, Farbe, Lenkrad, Reifen und das Auto Diese Klasse leitet zwei Klassen ab, Auto und LKW, und fügt dem Auto einen kleinen Kofferraum und dem LKW eine große Frachtkiste hinzu.

Java-Vererbungsfunktionen:

(1) Die Vererbungsbeziehung ist transitiv. Wenn Klasse C Klasse B erbt und Klasse B Klasse A (Mehrfachvererbung), dann verfügt Klasse C nicht nur über die von Klasse B geerbten Eigenschaften und Methoden, sondern auch über die von Klasse A geerbten Eigenschaften und Methoden und kann auch eigene haben Neue Eigenschaften und Methoden. Geerbte Eigenschaften und Methoden sind zwar implizit, aber immer noch Eigenschaften und Methoden der Klasse C. Vererbung ist die effektivste Methode zum Erstellen, Einrichten und Erweitern neuer Klassen auf der Grundlage einiger allgemeinerer Klassen.

(2) Vererbung vereinfacht das Verständnis und die Beschreibung von Dingen durch Menschen und kann die hierarchische Beziehung zwischen verwandten Klassen klar widerspiegeln.

(3) Vererbung bietet eine Software-Wiederverwendungsfunktion. Wenn Klasse B Klasse A erbt, müssen Sie beim Erstellen von Klasse B nur einige Merkmale (Datenelemente und Elementmethoden) beschreiben, die sich von der Basisklasse (Klasse A) unterscheiden. Dieser Ansatz kann die Redundanz von Code und Daten reduzieren und die Wiederverwendbarkeit von Programmen erheblich erhöhen.

(4) Vererbung reduziert Schnittstellen und Schnittstellen zwischen Modulen durch Verbesserung der Konsistenz, was die Wartbarkeit des Programms erheblich erhöht.

(5) Bietet Mehrfachvererbungsmechanismus. Theoretisch kann eine Klasse eine Sonderklasse mehrerer allgemeiner Klassen sein. Sie kann Eigenschaften und Methoden von mehreren allgemeinen Klassen erben. Aus Sicherheits- und Zuverlässigkeitsgründen unterstützt Java nur die Einzelvererbung und implementiert die Mehrfachvererbung mithilfe des Schnittstellenmechanismus.

Beispiel:

Elternklasse 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 + '。');
	}
}

Unterklasse:

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("治病救人是我的职责");
	}
}

Lauf:

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

Das obige ist der detaillierte Inhalt vonWas ist Java-Vererbung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn