Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Héritage dans les OOP Java :apprenez tous les types avec un exemple

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

Héritage est un mécanisme dans lequel une classe acquiert la propriété d'une autre classe. Par exemple, un enfant hérite des traits de ses parents. Avec l'héritage, nous pouvons réutiliser les champs et les méthodes de la classe existante. Par conséquent, l'héritage facilite la réutilisabilité et est un concept important des POO.

Dans ce tutoriel, vous apprendrez-

Types d'héritage

Voici les différents types d'héritage en Java :

Héritage unique :

Dans l'héritage unique, une classe étend une autre classe (une seule classe).

Dans le diagramme ci-dessus, la classe B étend uniquement la classe A. La classe A est une super classe et la classe B est une sous-classe.

Héritage multiple :

L'héritage multiple est l'un des héritages dans les types Java où une classe étend plus d'une classe. Java ne prend pas en charge l'héritage multiple.

Selon le diagramme ci-dessus, la classe C étend la classe A et la classe B à la fois.

Héritage multiniveau :

Dans l'héritage multiniveau, une classe peut hériter d'une classe dérivée. Par conséquent, la classe dérivée devient la classe de base de la nouvelle classe.

Comme indiqué dans le diagramme, la classe C est une sous-classe de B et B est une sous-classe de la classe A.

Héritage hiérarchique :

Dans l'héritage hiérarchique, une classe est héritée par plusieurs sous-classes.

Comme dans l'exemple ci-dessus, les classes B, C et D héritent de la même classe A.

Héritage hybride :

L'héritage hybride est l'un des types d'héritage en Java qui est une combinaison d'héritage unique et multiple.

Comme dans l'exemple ci-dessus, tous les membres publics et protégés de la classe A sont hérités dans la classe D, d'abord via la classe B et ensuite via la classe C.

Remarque : Java ne prend pas en charge l'héritage hybride/multiple

Héritage en Java

Héritage Java est un mécanisme dans lequel une classe acquiert la propriété d'une autre classe. En Java, lorsqu'une relation "Est-A" existe entre deux classes, nous utilisons l'héritage. La classe parente est appelée une super classe et la classe héritée est appelée une sous-classe. Le mot clé extends est utilisé par la sous-classe pour hériter des fonctionnalités de la super classe.

L'héritage est important car il conduit à la réutilisabilité du code.

Syntaxe d'héritage Java :

class subClass extends superClass  
{  
   //methods and fields  
}  

Exemple d'héritage Java

Voici un exemple d'héritage en Java :

Exemple d'héritage Java

class Doctor {
 void Doctor_Details() {
  System.out.println("Doctor Details...");
 }
}

class Surgeon extends Doctor {
 void Surgeon_Details() {
  System.out.println("Surgen Detail...");
 }
}

public class Hospital {
 public static void main(String args[]) {
  Surgeon s = new Surgeon();
  s.Doctor_Details();
  s.Surgeon_Details();
 }
}

Super mot clé

Le super mot-clé est similaire à "ce" mot-clé.

Le mot-clé super peut être utilisé pour accéder à n'importe quel membre de données ou méthode de la classe parent.

Le super mot-clé peut être utilisé au niveau de la variable, de la méthode et du constructeur.

Syntaxe :

super.<method-name>();

Apprenez l'héritage dans les OOP avec l'exemple

Considérez la même application bancaire que dans l'exemple précédent.

Nous sommes censés ouvrir deux types de comptes différents, l'un pour l'épargne et l'autre pour la vérification (également appelé compte courant).

Comparons et étudions comment nous pouvons aborder le codage dans une perspective de programmation structurée et orientée objet.

Approche structurelle :En programmation structurée, nous allons créer deux fonctions –

  1. Un à retirer
  2. Et l'autre pour l'action de dépôt.

Étant donné que le fonctionnement de ces fonctions reste le même sur tous les comptes.

Approche de la POO :Tout en utilisant l'approche de programmation OOPs. Nous créerions deux classes.

Demande de modification dans le logiciel

Il y a maintenant un changement dans la spécification des exigences pour quelque chose de si courant dans l'industrie du logiciel. Vous êtes censé ajouter une fonctionnalité de compte bancaire privilégié avec facilité de découvert. Pour un fond, le découvert est une facilité où vous pouvez retirer un montant supérieur au solde disponible de votre compte.

Approche structurelle : En utilisant une approche fonctionnelle, je dois modifier ma fonction de retrait, qui est déjà testée et référencée. Et ajoutez une méthode comme ci-dessous pour répondre aux nouvelles exigences.

Approche de la POO : En utilisant l'approche de la POO, il vous suffit d'écrire une nouvelle classe avec une implémentation unique de la fonction de retrait. Nous n'avons jamais touché au morceau de code testé.

Une autre demande de modification

Que se passe-t-il si l'exigence change encore ? Aime ajouter un compte de carte de crédit avec sa propre exigence unique de dépôts.

Approche structurelle : En utilisant l'approche structurelle, vous devez à nouveau modifier le code de dépôt testé.

Approche de la POO  :Mais en utilisant une approche orientée objet, vous allez simplement créer une nouvelle classe avec son implémentation unique de la méthode de dépôt (surlignée en rouge dans l'image ci-dessous).

Ainsi, même si la programmation structurelle semble être une approche facile au départ, la programmation orientée objet gagne à long terme.

Avantages de l'héritage dans les POO

Mais on peut dire que dans toutes les classes, vous avez des morceaux de code répétés.

Pour surmonter cela, vous créez une classe parente, dites "compte" et implémentez la même fonction de dépôt et de retrait. Et faites en sorte que les classes enfants héritent de la classe "compte". Pour qu'ils aient accès aux fonctions de retrait et de dépôt dans la classe de compte.

Les fonctions n'ont pas besoin d'être implémentées individuellement. C'est l'héritage en Java. .


Java

  1. Héritage Java
  2. Qu'est-ce qu'une interface en C # avec un exemple
  3. Concepts de POO en Java | Qu'est-ce que c'est, les bases avec des exemples
  4. Méthode String Length () en Java:comment trouver avec l'exemple
  5. Méthode Java String charAt() avec exemple
  6. Méthode Java String contains() | Vérifier la sous-chaîne avec l'exemple
  7. Méthode Java String endsWith () avec exemple
  8. Java BufferedReader :comment lire un fichier en Java avec un exemple
  9. Algorithme de tri par insertion en Java avec exemple de programme