Quelle est l'utilisation de la méthode abstraite en Java?

Cet article sur la méthode abstraite en Java vous aidera à apprendre à réaliser l'abstraction lors de l'utilisation de classes et de méthodes abstraites de programmation en Java

Dans n'importe quel langage de programmation, abstraction signifie cacher les détails non pertinents à l'utilisateur pour se concentrer uniquement sur les détails essentiels pour augmenter l'efficacité, réduisant ainsi la complexité. En Java, l'abstraction est réalisée en utilisantclasses et méthodes abstraites. Apprenons-en plus sur la méthode abstraite dans .



Les sujets abordés dans cet article sont les suivants:



la fusion des données du tableau ne fonctionne pas

Qu'est-ce qu'une classe abstraite?

Dans tous , une classe qui est déclarée avec le mot-clé abstrait est connue comme une classe abstraite. Une classe abstraite capture les caractéristiques communes des sous-classes et peut contenir ou non des méthode abstraite . Il ne peut pas être instancié mais ne peut être utilisé que comme une superclasse par ses sous-classes.

Voici quelques points clés concernant la classe abstraite:



  • Une classe abstraite peut avoir constructeurs et méthodes statiques
  • Ça peut avoir méthodes finales , ils forcent la sous-classe à ne pas changer le corps de la méthode
  • Vous pouvez utiliser une classe abstraite en l'héritant d'une autre classe, puis fournir des implémentations aux méthodes abstraites qu'elle contient
  • Si une classe abstraite n'a pas d'implémentation de méthode, il est toujours préférable d'utiliser interface

Une classe déclarée abstraite peut inclure ou non des méthodes abstraites. Mais qu'est-ce qu'une méthode abstraite exactement?

Qu'est-ce qu'une méthode abstraite?

Une méthode déclarée sans corps (pas d'implémentation)dans une classe abstraite est un méthode abstraite. En d'autres termes, si vous voulez un classe pour contenir une méthode particulière mais que vous voulez que l'implémentation réelle de cette méthode soit déterminée par les classes enfants, vous pouvez alors déclarer la méthode dans la classe parente comme un résumé.

classe anonyme en java]

Voici à quoi ressemble une méthode abstraite en Java:



habitat vide public abstrait ()

Principales caractéristiques de la méthode abstraite

Voici les principales caractéristiques de la méthode abstraite:

  • Les méthodes abstraites n'ont pas d'implémentation (corps), elles ont juste une signature de méthode comme indiqué dans l'exemple ci-dessus
  • Si une classe a une méthode abstraite, elle doit être déclarée abstraite, l'inverse n'est pas vrai
  • Au lieu d'accolades, une méthode abstraite aura un point-virgule () à la fin
  • Si un cours régulier étend une classe abstraite, alors la classe doit avoir à implémenter toutes les méthodes abstraites de cette classe ou elle doit également être déclarée abstraite

Exemple de programme: méthode abstraite en Java

Consultez l'exemple de programme pour comprendre comment l'abstraction est obtenue à l'aide de classes abstraites et de méthodes abstraites. Jetez un œil.

package MyPackage // classe abstraite classe abstraite Animal {String AnimalName = '' Animal (String name) {this.AnimalName = name} // déclare des méthodes non abstraites // il a une implémentation par défaut public void BasicInfo (String details) {System. out.println (this.AnimalName + '' + details)} // méthodes abstraites qui seront // implémentées par sa (ses) sous-classe (s) abstract public void habitat () abstract public void respiration ()} class Terrestrial extends Animal {// constructor Terrestrial (String name) {super (name)} @Override public void habitat () {System.out.println ('Leave on land and')} @Override public void respiration () {System.out.println ('respire à travers les poumons ou la trachée. ')}} class Aquatic extends Animal {// constructeur Aquatic (String name) {super (name)} @Override public void habitat () {System.out.println (' It part in water and ') } @Override public void respiration () {System.out.println ('respire through branchies or their skin.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// création de l'objet de la classe terrestre // et utilisation de la référence de classe animale. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('sont des êtres terrestres, ils') object1.habitat () object1.respiration () System.out.println ('') // création des objets de la classe de cercle Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('sont des êtres aqautiques, ils') object2.habitat () object2.respiration ()}}

Production:

La méthode Informations de base () est un qui est utilisé par les deux Terrestre et Aquatique Des classes. Les méthodes habitat() et respiration() sont des méthodes abstraites et elles n'ont aucune implémentation, juste la signature. Terrestre et Aquatique Les classes doivent fournir leur propre implémentation pour ces deux méthodes. Notez également que les deux méthodes commencent par le mot-clé abstrait . À ce stade, vous vous demandez peut-être comment classe abstraite différent du interface .

Interface en Java

Une autre façon de réaliser abstraction en Java consiste à utiliser les interfaces . Une interface est un ensemble de méthodes abstraites, elle n'a pas de , contrairement à une classe abstraite. Mais contrairement à la classe abstraite, une interface fournit une abstraction complète en Java. Il peut avoir à la fois des méthodes et des variables comme une classe. Cependant, les méthodes déclarées dans une interface sont abstraites par défaut.

Les classes abstraites et les interfaces sont les deux principaux blocs de constructiondu . Bien que les deux soient principalement utilisés pour l'abstraction, ils sont très différents les uns des autres et ne peuvent pas être utilisés de manière interchangeable.

comment inverser une chaîne python

Ceci nous amène à la fin de cet article sur la «Méthode abstraite en Java». J'ai couvert l'une des questions les plus fréquemment posées , qui est une classe abstraite en Java.

Assurez-vous de pratiquer autant que possible et inversez votre expérience.

Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cette «Méthode abstraite en Java» article et nous vous répondrons dans les plus brefs délais.