Les partenaires publicitaires:

Qu'est-ce que l'héritage multiple en Java?

Développeurs Java conçu à partir du sol à agir comme un langage complet de la programmation orientée objet. De ce fait, la programmation de concepts intégrale orientée objet devient très important dans la fonctionnalité de base de Java. En particulier, les concepts de l'héritage de classe (et les problèmes qui se posent héritage de classe de forme) sont des préoccupations fondamentales pour le programmeur Java. L'un de ces problèmes, l'héritage multiple, peut être contourné avec une compréhension de la façon dont l'héritage fonctionne, et comment utiliser les interfaces Java.

POO et Héritage

  • Programmation Orientée Objet utilise le concept d'héritage pour étendre la fonctionnalité des objets. Considérez lorsqu'un programmeur crée un objet-elle plus tard, peut trouver qu'elle doit créer un objet très similaire avec seulement de légères différences (peut-être pour étendre la fonctionnalité de l'objet précédent dans un nouveau contexte). Ceci est où l'héritage entrent en jeu. Un objet qui un programmeur "dérive" d'un autre "base" objet hérite les méthodes et les variables de cette catégorie, et peut alors ajouter plus de fonctionnalités à elle (comme dans l'exemple Java suivant):

    public class Sphere {

    public int radius-

    }

    Ball public class étend Sphère {

    public string couleur- // ajoute le bal "couleur" variable mais utilise également la "rayon" variable

    }

Héritage multiple

  • À un certain point, un programmeur pourrait devenir tenté de tirer une seule classe de plusieurs classes. Ceci est connu comme "héritage multiple" et tout semble utile, peut causer des problèmes, tels que le tristement célèbre "problème de diamant." Le problème de diamant se produit lorsque deux classes héritent de la même classe (comme la classe B et C découlant de classe A), tandis que l'autre classe (D) hérite de deux B et C. Quand un objet D est créé, le système traite comme un type de la classe de base (classe "Balle" est un "Sphère," par example). Dans le problème de diamant, le système ne peut pas déterminer de façon décisive ce que D classe est (est-il de type ABD ou tapez ACD?) Qui provoque des problèmes.

Java et héritage multiple




  • En raison des problèmes posés par héritage multiple, Java ne permet pas l'héritage multiple. Cependant, en réalité découlant des classes de plusieurs classes de base peuvent être accomplies de façon sécuritaire grâce à l'utilisation de "interfaces." Une interface est similaire à une classe, à l'exception qu'elle ne définit que la structure de la classe, mais pas le code réel. Une classe de base qui implémente une interface ne signifie pas nécessairement "hériter" la fonctionnalité de l'interface: il ne promet d'utiliser sa structure. Parce que une classe implémentant une interface ne hérite d'une autre classe (et ce ne sont pas un type de la classe de base), le programmeur peut implémenter plusieurs interfaces en utilisant la même classe.

Exemple: Héritage et Interfaces

  • L'exemple suivant montre la différence entre l'héritage de l'objet et une interface. Surtout, une classe qui hérite d'une autre accède à la classe de base, car il devient essentiellement un type de cette classe (comme dans le "Balle" et "Sphère" classes). Une classe qui implémente une interface promet seulement de mettre en place la structure de l'interface: il est pas un type de cette interface:

    Interface de base {

    int doubleA () - // avis: pas de code actuel est défini dans l'interface

    }

    public class B implémente base {

    public int a-

    public int doubleA () // Classe B doit définir le "doubleA ()" Procédé pour mettre en œuvre "Élémentaire"

    {return une * 2-}

    }

» » » » Qu'est-ce que l'héritage multiple en Java?