Maison > Java > JavaBase > qu'est-ce que l'héritage Java

qu'est-ce que l'héritage Java

angryTom
Libérer: 2019-11-11 10:48:56
original
10082 Les gens l'ont consulté

qu'est-ce que l'héritage Java

Qu'est-ce que l'héritage Java

L'héritage est la caractéristique la plus importante de l'orientation objet ? L'héritage est la dérivation d'une nouvelle classe à partir d'une classe existante. La nouvelle classe peut absorber les attributs de données et les comportements de la classe existante et étendre de nouvelles fonctionnalités.

L'héritage Java est une technologie qui utilise la définition d'une classe existante comme base pour créer une nouvelle classe. La définition d'une nouvelle classe peut ajouter de nouvelles données ou de nouvelles fonctions, ou utiliser les fonctions de. la classe parent, mais vous ne pouvez pas hériter sélectivement des classes parent. Cette technologie facilite grandement la réutilisation du code précédent, ce qui peut considérablement raccourcir le cycle de développement et réduire les coûts de développement. (Tutoriel recommandé : tutoriel Java)

Par exemple, vous pouvez d'abord définir une classe appelée voiture. La voiture a les attributs suivants : taille de carrosserie, couleur, volant, les pneus et la voiture Cette classe dérive deux classes, voiture et camion, ajoutant un petit coffre à la voiture et une grande caisse au camion.

Fonctionnalités d'héritage Java :

(1) La relation d'héritage est transitive. Si la classe C hérite de la classe B et que la classe B hérite de la classe A (héritage multiple), alors la classe C possède non seulement les propriétés et méthodes héritées de la classe B, mais également les propriétés et méthodes héritées de la classe A, et peut également avoir les siennes. nouvelles propriétés et méthodes définies. Les propriétés et méthodes héritées, bien qu'implicites, sont toujours des propriétés et méthodes de classe C. L'héritage est le moyen le plus efficace de construire, d'établir et d'étendre de nouvelles classes basées sur des classes plus générales.

(2) L'héritage simplifie la compréhension et la description des choses par les gens, et peut clairement refléter la relation hiérarchique entre les classes apparentées.

(3) L'héritage fournit une fonction de réutilisation des logiciels. Si la classe B hérite de la classe A, lors de la création de la classe B, il vous suffit de décrire quelques fonctionnalités (données membres et méthodes membres) qui sont différentes de la classe de base (classe A). Cette approche peut réduire la redondance du code et des données et augmenter considérablement la réutilisabilité des programmes.

(4) L'héritage réduit les interfaces et les interfaces entre les modules en améliorant la cohérence, ce qui augmente considérablement la maintenabilité du programme.

(5) Fournit un mécanisme d'héritage multiple. Théoriquement, une classe peut être une classe spéciale composée de plusieurs classes générales. Elle peut hériter des propriétés et des méthodes de plusieurs classes générales. Pour des raisons de sécurité et de fiabilité, Java ne prend en charge que l'héritage unique et implémente l'héritage multiple en utilisant le mécanisme d'interface.

Exemple :

Classe parent Personne

/**
 * 父类 人类
 * 
 * @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 + '。');
	}
}
Copier après la connexion

Sous-classe :

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("治病救人是我的职责");
	}
}
Copier après la connexion

Exécuter :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal