Développement Java pour débutants

Héritage en Java - Principes de base et exemples

Toutes les vidéos du tutoriel Développement Java pour débutants

L'héritage est un concept central de la programmation orientée objet (POO) et est souvent considéré comme l'un des fondements de l'augmentation de l'efficacité. Dans ce tutoriel, tu approfondiras ta compréhension de l'héritage en Java. Tu apprendras à gérer les modificateurs d'accès, à utiliser des constructeurs et quel rôle l'encapsulation joue dans l'héritage.

Principales conclusions

  • L'héritage permet de hériter des propriétés et des méthodes d'une classe.
  • Le modificateur d'accès private limite l'accès aux variables ou méthodes, tandis que protected permet un accès élargi à l'intérieur des classes qui héritent de la classe d'origine.
  • Les constructeurs doivent être appelés dans la sous-classe pour instancier correctement les objets.
  • Les méthodes d'interface peuvent être utilisées de manière généralisée lorsque plusieurs classes spécifiques sont présentes.

Guide étape par étape

Modificateurs d'accès: protected vs. private

Lorsque tu déclares une variable (par exemple, couleur) comme protected dans une classe comme Véhicule, tu peux utiliser cette variable directement dans une classe dérivée (par exemple, Voiture). En revanche, si tu déclares la variable comme private, tu ne peux pas y accéder directement dans la sous-classe.

Héritage en Java - Fondamentaux et exemples

Concrètement, cela signifie qu'un accès aux variables private n'est possible que via des méthodes setter et getter.

L'exemple montre que nous devons utiliser setCouleur et getCouleur pour accéder à la variable privée couleur.

Héritage en Java - Fondamentaux et exemples

Si la variable est déclarée comme protected, tu peux simplement y accéder et modifier sa valeur dans la classe Voiture.

Utilisation des constructeurs dans l'héritage

Lors de la définition d'une sous-classe, tu dois t'assurer que le constructeur de la superclasse est correctement appelé.

Héritage en Java - Fondamentaux et exemples

Cela garantit que la couleur est correctement initialisée lors de la création d'un objet Voiture.

Héritage en Java - Fondamentaux et exemples

Assure-toi de définir un constructeur dans la sous-classe qui transmet les paramètres de la superclasse de manière appropriée.

Héritage et appels de méthodes

Deux classes, Véhicule et Voiture, te permettent d'utiliser des variables et méthodes communes. Lorsque tu définis une méthode dans Véhicule, tu peux également utiliser cette méthode dans Voiture sans avoir à la réécrire.

Héritage en Java - Bases et exemples

Ici, la méthode afficherCouleurVéhicule est appelée et affiche la valeur de couleur fournie par la méthode getCouleur.

Restrictions d'accès aux méthodes

Lorsque tu essayes d'appeler une méthode dans une sous-classe qui n'est pas disponible pour la classe, tu obtiens une erreur de compilation. Dans notre exemple, un objet Véhicule doit être passé pour appeler la méthode getCouleur.

Héritage en Java - Fondamentaux et exemples

En pratique, cela signifie que tu dois te assurer que la méthode correspond à ton type de données avant de l'appeler. Tu peux donc passer un vélo, une voiture ou les deux à une méthode qui attend uniquement des objets Véhicule.

Exemple d'appel de méthodes d'instance dans des contextes statiques

Note que dans les méthodes statiques (static), le mot clé this ne peut pas être utilisé car il ne se réfère pas à une instance spécifique. Dans de tels cas, tu devrais peut-être envisager d'utiliser une autre méthode ou de restructurer la logique.

Héritage en Java - Principes de base et exemples

Cette appel affichera correctement la couleur de l'objet monAuto.

Résumé - Héritage en Java: Un guide pour les débutants

L'héritage est un concept important dans la programmation avec Java, qui t'aide à modulariser et réutiliser le code. Dans ce tutoriel, tu as appris les fondamentaux des modificateurs d'accès, des constructeurs et des appels de méthodes en relation avec l'héritage.

Questions fréquentes

Comment puis-je accéder aux variables privées dans la sous-classe?Les variables privées dans la sous-classe ne peuvent pas être accédées directement. Utilise des méthodes getter et setter.

Quelle est la différence entre protected et private?protected permet l'accès dans la sous-classe et dans le même paquet, tandis que private n'est accessible que dans sa propre classe.

Dois-je définir les constructeurs dans la sous-classe?Oui, si tu as modifié le constructeur de la superclasse, tu dois également définir les constructeurs dans la sous-classe en conséquence.

Puis-je redéfinir librement des méthodes des superclasses dans les sous-classes?Oui, tu peux redéfinir des méthodes qui ne sont pas marquées comme final ou static dans la sous-classe pour implémenter un comportement spécifique.