Différence entre la classe abstraite et l'héritage

Table des matières:

Différence entre la classe abstraite et l'héritage
Différence entre la classe abstraite et l'héritage

Vidéo: Différence entre la classe abstraite et l'héritage

Vidéo: Différence entre la classe abstraite et l'héritage
Vidéo: Comprendre le NAT / PAT en 7 minutes 2024, Novembre
Anonim

Classe abstraite vs héritage

La classe abstraite et l'héritage sont deux concepts orientés objet importants trouvés dans de nombreux langages de programmation orientés objet comme Java. La classe abstraite peut être considérée comme une version abstraite d'une classe régulière (concrète), tandis que l'héritage permet à de nouvelles classes d'étendre d'autres classes. La classe abstraite est une classe qui ne peut pas être initialisée mais qui peut être étendue. Ainsi, les classes abstraites n'ont de sens que si le langage de programmation prend en charge l'héritage. En Java, les classes abstraites sont déclarées à l'aide du mot-clé Abstract, tandis que le mot-clé Extends est utilisé pour hériter d'une (super) classe.

Qu'est-ce qu'une classe abstraite ?

En règle générale, les classes abstraites, également appelées classes de base abstraites (ABC), ne peuvent pas être instanciées (une instance de cette classe ne peut pas être créée). Ainsi, les classes abstraites n'ont de sens que si le langage de programmation prend en charge l'héritage (possibilité de créer des sous-classes à partir de l'extension d'une classe). Les classes abstraites représentent généralement un concept abstrait ou une entité avec une implémentation partielle ou inexistante. Par conséquent, les classes abstraites agissent comme des classes parentes à partir desquelles les classes enfants sont dérivées afin que la classe enfant partage les fonctionnalités incomplètes de la classe parente et que des fonctionnalités puissent être ajoutées pour les compléter.

Les classes abstraites peuvent contenir des méthodes abstraites. Les sous-classes étendant une classe abstraite peuvent implémenter ces méthodes abstraites (héritées). Si la classe enfant implémente toutes ces méthodes abstraites, il s'agit d'une classe concrète. Mais si ce n'est pas le cas, la classe enfant devient également une classe abstraite. Tout cela signifie que, lorsque le programmeur nomme une classe en tant qu'abstrait, il dit que la classe sera incomplète et qu'elle contiendra des éléments qui devront être complétés par les sous-classes héritées. C'est une belle façon de créer un contrat entre deux programmeurs, ce qui simplifie les tâches de développement de logiciels. Le programmeur, qui écrit du code pour hériter, doit suivre exactement les définitions de la méthode (mais peut bien sûr avoir sa propre implémentation).

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

L'héritage est un concept orienté objet, qui permet à de nouvelles classes d'étendre d'autres classes. Le mot-clé Extends est utilisé pour implémenter le concept d'héritage dans le langage de programmation Java. L'héritage fournit essentiellement la réutilisation du code en permettant d'étendre les propriétés et le comportement d'une classe existante par une classe nouvellement définie. Lorsqu'une nouvelle sous-classe (ou classe dérivée) étend une super classe (ou classe parente), cette sous-classe hérite de tous les attributs et méthodes de la super classe. La sous-classe peut éventuellement remplacer le comportement (fournir des fonctionnalités nouvelles ou étendues aux méthodes) hérité de la classe parent. En règle générale, une sous-classe ne peut pas étendre plusieurs super classes (par exemple en Java). Par conséquent, vous ne pouvez pas utiliser les extensions pour l'héritage multiple. Pour avoir un héritage multiple, vous devez utiliser des interfaces.

Quelle est la différence entre la classe abstraite et l'héritage ?

Les classes abstraites représentent généralement un concept abstrait ou une entité avec une implémentation partielle ou inexistante. L'héritage permet à de nouvelles classes d'étendre d'autres classes. Étant donné que les classes abstraites ne peuvent pas être instanciées, vous devez utiliser le concept d'héritage pour utiliser les classes abstraites. Sinon, une classe abstraite n'a aucune utilité. Les classes abstraites peuvent contenir des méthodes abstraites et lorsque la classe est étendue, toutes les méthodes (abstraites et concrètes) sont héritées. La classe héritée peut implémenter une ou toutes les méthodes. Si toutes les méthodes abstraites ne sont pas implémentées, alors cette classe devient également une classe abstraite. Une classe ne peut pas hériter de plus d'une classe abstraite (ce n'est pas une qualité des classes abstraites en soi, mais plutôt une restriction d'héritage).

Messages associés:

Image
Image
Image
Image

Différence entre la classe abstraite et la classe concrète

Image
Image
Image
Image

Différence entre virtuel et abstrait

Image
Image
Image
Image

Différence entre la classe abstraite et l'interface

Image
Image
Image
Image

Différence entre les outils et les extensions

Image
Image
Image
Image

Différence entre le graphique et l'arbre

Classé sous:Programmation Marqué avec:ABC, abstrait, Classes de base abstraites, Classe abstraite, Classes abstraites, Mot-clé abstrait, Méthodes abstraites, classe concrète, Mot-clé Extends, Héritage, Classe d'héritage, classe héritée, Java, héritage multiple, concepts orientés objet, classe normale, super classe

Image
Image

À propos de l'auteur: Indika

Indika, BSc. Eng, MSECE Génie informatique, PhD. Computer Science, est professeur adjoint et a des intérêts de recherche dans les domaines de la bioinformatique, de la biologie computationnelle et du traitement biomédical du langage naturel.

Commentaires

  1. Image
    Image

    Jason dit

    30 août 2017 à 13h25

    Merci d'avoir expliqué la différence. Toutes mes questions ont été résolues par ceci.

    Répondre

  2. Image
    Image

    Aus dit

    10 mai 2019 à 15h04

    meilleure réponse sur le Web, le professeur n'explique pas la merde et n'a aucun sens, mono ton mf. C'est ainsi que vous expliquez les concepts.

    Répondre

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués

Commentaire

Nom

Courriel

Site Web

Demander un article
Demander un article
Demander un article
Demander un article

Articles en vedette

Différence entre le coronavirus et les symptômes du rhume
Différence entre le coronavirus et les symptômes du rhume

Différence entre le coronavirus et les symptômes du rhume

Différence entre le coronavirus et le SRAS
Différence entre le coronavirus et le SRAS

Différence entre le coronavirus et le SRAS

Différence entre le coronavirus et la grippe
Différence entre le coronavirus et la grippe

Différence entre le coronavirus et la grippe

Différence entre le coronavirus et le Covid 19
Différence entre le coronavirus et le Covid 19

Différence entre le coronavirus et le Covid 19

Vous pourriez aimer

Différence entre Husky de Sibérie et Malamute

Différence entre le calcul AB et BC

Conseillé: