Différence entre la classe abstraite et la classe concrète | Différence Entre | fr.natapa.org

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




Différence clé: Il existe deux principaux types de classes: classe abstraite et classe concrète. La principale différence entre les deux provient du niveau de mise en œuvre des fonctionnalités de leurs méthodes. Les classes concrètes sont des classes régulières, où toutes les méthodes sont complètement implémentées. Une classe abstraite est exactement ce que son nom suggère. C’est là que les fonctions ne sont pas définies, c’est-à-dire qu’elles sont abstraites.

Les ordinateurs peuvent être assez déroutants, c'est-à-dire avant d'ajouter la programmation informatique, les langages de programmation et les protocoles. Sans oublier le fait qu'il existe de nombreux langages de programmation très différents les uns des autres et qui ont leur propre ensemble de protocoles. Par exemple, les langages de programmation orientée objet (OOP) tels que Java et C # sont très différents des langages de programmation procéduraux et des langages de programmation structurels. Les langages POO sont basés sur les classes, tandis que les autres sont basés sur la logique. Ces langages POO réalisent les concepts orientés objet tels que l'encapsulation, l'héritage et le polymorphisme grâce à l'utilisation de classes.

Il existe deux principaux types de classes: classe abstraite et classe concrète. La principale différence entre les deux provient du niveau de mise en œuvre des fonctionnalités de leurs méthodes. Les classes concrètes sont des classes régulières, où toutes les méthodes sont complètement implémentées. Une classe abstraite est exactement ce que son nom suggère. C’est là que les fonctions ne sont pas définies, c’est-à-dire qu’elles sont abstraites. C'est la classe de base. Une fois qu'une classe abstraite est définie, elle cesse d'être abstraite et devient une classe concrète. Une classe concrète est celle où les implémentations des fonctions membres sont fournies. Une classe concrète est dérivée de la classe de base, à savoir la classe abstraite.

Une classe abstraite n'est constituée que de méthodes abstraites. Une méthode abstraite ne contient que des définitions, mais aucune implémentation. Les implémentations sont fournies dans la classe concrete, après quoi les méthodes peuvent être implémentées. Une classe abstraite ne peut jamais être finale car elle n’a pas de fonctions définies. Par conséquent, chaque programme doit avoir une classe concrète, afin de lui indiquer quelles fonctions implémenter et comment.

Un moyen plus facile d’y réfléchir serait de prendre un exemple. Pensez au sport, c’est un objet, mais celui qui n’est pas défini n’est pas défini. Techniquement, le sport n'existe pas. Il existe uniquement en tant que catégorisation pour d'autres objets. Ces objets, tels que le football, le baseball, le basketball, le hockey, etc., sont des objets définis pouvant être classés et mis en œuvre dans le cadre de sports. Le sport est donc la classe abstraite, tandis que le football, le baseball, le basketball et le hockey sont des cours concrets.

Comparaison entre la classe abstraite et la classe concrète:

Classe abstraite

Classe de béton

Type

Classe de base

Classe par défaut

Les méthodes

Peut contenir des méthodes partiellement implémentées

Toutes les méthodes sont complètement implémentées

Les fonctions

Certaines ou toutes les fonctions déclarées sont purement virtuelles

Pas de fonctions purement virtuelles

Instanciation

Ne peut pas être instancié

Peut être instancié

Courtoisie d'image: tutorials.jenkov.com, stackoverflow.com

Article Précédent

Différence entre l'extrait d'amande et de vanille

Article Suivant

Différence entre le maïs et le maïs