Java

Classe abstraite Java

Classe abstraite Java
Le concept de l'abstraction est de mettre en évidence la tâche de l'objet au lieu de mettre en évidence « comment l'objet accomplit la tâche ». Ce type de concept peut être implémenté en utilisant deux manières en Java. Ce sont la classe abstraite et l'interface. La classe abstraite contient le mot-clé abstrait. Cette classe ne peut pas être initiée comme les autres classes normales, mais une sous-classe peut être dérivée en héritant de la classe abstraite. Les fonctionnalités de la classe abstraite sont accessibles en créant l'objet de la sous-classe. Une classe abstraite peut également contenir le constructeur auquel on peut accéder en créant l'objet de la classe sous-classe. Comment vous pouvez utiliser une classe abstraite en Java est montré dans ce tutoriel.

Syntaxe:

classe abstraite className
noms_variables ;
méthode abstraite1();
méthode publique2()
déclarations 1… N

Une classe abstraite peut contenir un attribut ou des variables, une méthode abstraite et une méthode normale ou n'importe laquelle d'entre elles. Mais la sous-classe de la classe abstraite ne peut implémenter que la méthode abstraite de la classe abstraite.

Exemple-1 : Classe abstraite avec une méthode publique

L'exemple suivant montre comment déclarer une classe abstraite avec une méthode publique et comment utiliser une classe abstraite en créant une sous-classe. Ici, la classe abstraite contient une méthode publique nommée des détails() qui est implémenté dans la classe abstraite. L'objet de la sous-classe est créé pour accéder à la méthode publique de la classe abstraite.

//Définir la classe abstraite avec la méthode publique
livre de classe abstrait
détails du vide public ()
Système.en dehors.println("Nom du livre : Apprendre PHP en 15 minutes");
Système.en dehors.println("Nom de l'auteur : Jake Wright");
Système.en dehors.println("Prix réduit : 35 $");


//Définir la sous-classe
la classe php étend le livre

//Classe principale
classe abstraite1
public static void main(String[] args)
php bk = nouveau php();
noir.des détails();

Production:

La sortie suivante apparaîtra après l'exécution du code. Ici le des détails() la méthode de la classe abstraite est appelée et le texte est imprimé à partir de la méthode.

Exemple-2 : Classe abstraite avec la méthode abstraite et la méthode publique

L'exemple suivant montre comment une classe abstraite peut être déclarée avec des variables, une méthode abstraite et une méthode publique. Les instructions de la méthode publique sont définies à l'intérieur de la classe abstraite, mais le corps de la méthode abstraite est vide qui est implémenté à l'intérieur de la sous-classe de la classe abstraite. Ici, deux sous-classes sont déclarées en étendant la classe abstraite. La sous-classe nommée carré calculera et imprimera l'aire d'un carré en fonction de la valeur de m variable. La sous-classe nommée rectangle calculera et imprimera l'aire du rectangle en fonction de la valeur de h et w variables. La méthode publique, readData() est appelé par un paramètre nommé taper pour identifier quelle(s) variable(s) de la classe abstraite seront initialisées. La valeur de la taper variable sera 1 pour initialiser la valeur de m et 2 pour initialiser la valeur de h et w.

//Définir une classe abstraite avec une méthode abstraite et une méthode publique
zone de classe abstraite
public int n, h, w;
résultat vide abstrait ();
public void readData (type int)
si (tapez == 1)
n = 10 ;

autre
h = 20 ;
w = 30 ;



//Définir la sous-classe carrée
le carré de classe étend la zone
résultat nul public ()
//Calculer l'aire du carré
int zoneVal = n*n;
Système.en dehors.println("L'aire du carré est " + aireVal);


//Définir la sous-classe du rectangle
le rectangle de classe étend la zone
résultat nul public ()
//Calculer l'aire du rectangle
int aireVal = h*w;
Système.en dehors.println("L'aire du rectangle est " + areaVal);


//Classe principale
résumé de classe2
public static void main(String[] args)
//Créer l'objet de la classe square
carré carré = nouveau carré();
m².readData(1) ;
m².résultat();
//Créer l'objet de la classe rectangle
rectangle rq = nouveau rectangle();
rq.readData(2) ;
rq.résultat();

Production:

La sortie suivante apparaîtra après l'exécution du code. La sortie montre l'aire d'un carré où la valeur de m est dix et l'aire d'un rectangle où la valeur de h est 20, et la valeur de w est 30.

Exemple-3 : Classe abstraite avec le constructeur

L'exemple suivant montre comment le constructeur peut être déclaré et utilisé dans une classe abstraite. Le constructeur de la classe abstraite initialisera les valeurs de une et b. La méthode abstraite, maxval() est implémenté dans la sous-classe nommée findMax. super() méthode est utilisée dans le constructeur de la sous-classe pour appeler le constructeur d'une classe abstraite. La méthode abstraite maxval() va connaître la valeur maximale de deux nombres qui sera donnée aux paramètres du constructeur de la sous-classe au moment de la création de l'objet.

//Définir une classe abstraite avec un constructeur
numéros de classe abstraits
//déclarer des variables
protégé final int a, b;
//constructeur de classe abstraite
nombres publics(int x,int y)
cette.a = x ;
cette.b = y ;

//Méthode publique
public abstrait void maxval();

//Définir la sous-classe
la classe findMax étend les nombres
//Constructeur de sous-classe
public findMax(int ​​x,int y)
//Appelle le constructeur de la classe abstraite
super(x,y);

//Implémenter la méthode abstraite
public void maxval()
si (a > b)
Système.en dehors.println(a + " est supérieur à " + b);

autre
Système.en dehors.println(b + " est supérieur à " + a);



//Classe principale
résumé de classe3
public static void main(String[] args)
//Créer l'objet de la sous-classe
findMax fmax = nouveau findMax (34,89);
//Trouve le maximum
fmax.maxval();

Production:

La sortie suivante apparaîtra après l'exécution du script. Ici, 34 et 89 sont donnés comme valeurs de paramètre du constructeur. Ces valeurs sont comparées dans la méthode abstraite qui est implémentée dans la sous-classe et imprimées le message suivant.

Conclusion:

Une classe abstraite est utilisée pour rendre le programme plus organisé et compréhensible. Plusieurs classes apparentées peuvent être regroupées en utilisant des classes abstraites. Le concept et l'implémentation de la classe abstraite avec différentes parties sont expliqués dans ce tutoriel à l'aide d'exemples simples. J'espère que les lecteurs pourront comprendre l'utilisation de la classe abstraite et l'appliquer correctement dans leur code après avoir lu ce tutoriel.

Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...
Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...