Quelle est la différence entre la classe abstraite et la classe concrète

Table des matières:

Anonim

Les différence principale entre la classe abstraite et la classe concrète est que il n'est pas possible de créer des objets en utilisant une classe abstraite tout en utilisant une classe concrète, il est possible de créer des objets.

La programmation orientée objet (OOP) est un paradigme populaire dans le développement de logiciels. Cela aide à développer facilement un scénario du monde réel. De plus, il permet également aux programmeurs de modéliser le logiciel à l'aide d'un ensemble d'objets. Ces objets communiquent avec d'autres objets pour transmettre des messages. De plus, un objet est créé à l'aide d'une classe. Une classe concrète est une classe par défaut. L'abstraction est un pilier majeur de la POO. La classe abstraite est une méthode pour réaliser l'abstraction.

Abstraction, Classe abstraite, Classe, Classe concrète, POO

Qu'est-ce que la classe abstraite

L'abstraction est un concept majeur de la POO. C'est le processus consistant à masquer les détails internes et à afficher uniquement la fonctionnalité à l'utilisateur. Une classe abstraite est une méthode pour réaliser l'abstraction. Les langages de programmation tels que Java utilisent des mots-clés abstraits pour désigner une classe abstraite.

Une méthode abstraite est une méthode sans implémentation. De plus, une classe abstraite peut avoir des méthodes abstraites et des méthodes non abstraites. Une classe peut étendre une classe abstraite. Ensuite, il peut fournir les implémentations des méthodes abstraites de la classe abstraite. De plus, une classe abstraite peut avoir des constructeurs et des méthodes statiques.

Il n'est pas possible de créer des objets à partir d'une classe abstraite. Cependant, le programmeur peut créer des objets à partir d'une classe qui étend une classe abstraite. Si une méthode abstraite dans la classe abstraite est déclarée comme finale, alors la classe qui étend la classe abstraite ne peut pas fournir une implémentation pour la méthode abstraite.

Figure 1: Classe de forme

Figure 2: Classe carrée

La forme est une classe abstraite. Il a une méthode abstraite appelée draw et une méthode non abstraite appelée display. De plus, la classe Square étend Shape. Ainsi, la classe Square peut fournir une implémentation à partir de la méthode abstraite (draw) dans la classe Shape.

Figure 3: Classe principale

Un objet de Square est créé à l'intérieur de la méthode main. Enfin, la méthode draw est appelée en utilisant cet objet. Il affiche « Carré » sur la console.

Qu'est-ce que la classe concrète

La classe concrète est une classe qui n'a pas de méthodes non implémentées. Les langages de programmation tels que Java utilisent le mot-clé class pour désigner une classe. Une classe concrète est un plan pour créer des objets. Il a des attributs et des méthodes. Les attributs représentent les propriétés ou les données tandis que les méthodes représentent les comportements de la classe. Ces attributs et méthodes sont les membres de la classe.

Figure 4: Classe de béton

Ci-dessus se trouve une classe concrète appelée Rectangle. Ici, il a deux attributs privés: la longueur et la largeur. Il a également un constructeur appelé Rectangle pour fournir des valeurs initiales aux attributs. De plus, il existe une méthode appelée displayArea.

Différence entre classe abstraite et classe concrète

Définition

Une classe abstraite est une classe déclarée avec un mot-clé abstrait qui est une collection de méthodes abstraites et non abstraites tandis qu'une classe concrète est une classe qui permet de créer une instance ou un objet en utilisant le mot-clé new. C'est donc la principale différence entre une classe abstraite et une classe concrète.

Création d'objets

Les programmeurs ne peuvent pas créer d'objets à l'aide d'une classe abstraite alors que les programmeurs peuvent créer des objets à l'aide d'une classe concrète.

Méthodes

Une classe abstraite a des méthodes non implémentées alors que toutes les méthodes d'une classe concrète sont implémentées.

Conclusion

En bref, la POO est un paradigme majeur du développement logiciel, et la classe abstraite et la classe concrète sont deux concepts liés à la POO. le différence principale entre la classe abstraite et la classe concrète est qu'il n'est pas possible de créer des objets à l'aide d'une classe abstraite alors qu'il est possible de créer des objets à l'aide d'une classe concrète.

Les références:

1. « Objet en Java | Cours en Java - Javatpoint. Www.javatpoint.com, disponible ici. 2. "Classe abstraite en Java - Javatpoint." Www.javatpoint.com, disponible ici.

Quelle est la différence entre la classe abstraite et la classe concrète