Maison > Java > javaDidacticiel > le corps du texte

Utiliser des classes abstraites

Linda Hamilton
Libérer: 2024-09-21 14:17:02
original
1110 Les gens l'ont consulté

Usando classes abstratas

Qu'est-ce qu'un cours abstrait ?

  • Une classe abstraite sert de classe de base qui ne peut pas être instanciée directement. Il est utilisé pour créer une forme généralisée d'une classe, permettant aux sous-classes de fournir des implémentations spécifiques de certaines méthodes.
  • Les méthodes abstraites au sein d'une classe abstraite sont déclarées mais n'ont pas d'implémentation dans la classe de base. Des sous-classes sont nécessaires pour fournir des implémentations concrètes.

Quand utiliser les classes abstraites ?

  • Utilisez des classes abstraites lorsque vous souhaitez garantir que certaines fonctionnalités sont nécessairement implémentées par des sous-classes.
  • Un exemple courant serait une classe de forme géométrique abstraite qui fournit la signature d'une méthode Area(), mais laisse la responsabilité de définir la façon de calculer l'aire aux sous-classes, telles que Triangle et Rectangle.

Implémentation avec l'exemple TwoDShape :
Voir l'exemple dans le package Abstraction

Explication du code :
Classe abstraite TwoDShape :

  • Défini comme abstrait car cela n'a pas de sens d'implémenter directement area(). Chaque forme géométrique spécifique (comme un triangle ou un rectangle) doit fournir sa propre implémentation de la façon de calculer l'aire.
  • La méthode Area() est déclarée comme abstraite, obligeant les sous-classes à implémenter leur version de cette méthode.

Sous-classes Triangle et Rectangle :

  • Les deux sous-classes héritent de TwoDShape et sont nécessaires pour implémenter la méthode Area().
  • Triangle calcule l'aire avec la formule base * hauteur / 2.
  • Rectangle calcule l'aire avec la formule largeur * hauteur.

Cours AbsShape :

  • Démontre le polymorphisme avec des classes abstraites. La méthode Area() est appelée de manière polymorphe et la version correcte de la méthode est exécutée en fonction du type d'objet (Triangle ou Rectangle).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal