Une introduction complète aux classes abstraites en Java



Cet article vous aidera avec une approche détaillée des classes abstraites en Java ainsi que des exemples pour comprendre le concept d'une bien meilleure manière.

Classes abstraites en aider les utilisateurs à atteindre l'abstraction, qui est la pratique de programmation orientée objet la plus cruciale suivie pendant le processus de conception du logiciel. Dans cet article, nous discuterons de la terminologie des classes abstraites à travers le registre suivant.

Que sont les classes abstraites en Java?

Classes abstraites en agissent comme une frontière entre la méthode de mise en œuvre et sa fonctionnalité. Il est utilisé pour échanger la fonctionnalité entre le Béton les élèves et les Abstrait Classe.





Abstract-Classes-in-Java-Edureka

Les classes abstraites sont considérées comme les classes qui masquent Mise en œuvre de la méthode détails de l'utilisateur et afficher uniquement les Fonctionnalité de la méthode. Ils sont déclarés à l'aide du mot-clé abstrait . Ces méthodes peuvent inclure Abstrait et Non-abstrait méthodes en eux.

prérequis pour le cours d'intelligence artificielle

Pourquoi avons-nous besoin de classes abstraites en Java?

Nous avons besoin de classes abstraites en Java pour les raisons suivantes:



  • Prise en charge des classes abstraites Résolution de méthode dynamique en exécution
  • Ils aident les utilisateurs à atteindre Couplage lâche
  • Les classes abstraites séparent les Définition de la méthode de l'héritage Sous-classes
  • Ils fournissent le Fonctionnalité par défaut de la méthode définie pour toutes les sous-classes
  • Les classes abstraites fournissent un Modèle pour les futures classes spécifiques
  • La classe abstraite permet Code Réutilisation

Règles d'utilisation des classes abstraites en Java

Pour implémenter une classe abstraite en Java, nous devons suivre les règles décrites ci-dessous:



  • Une classe abstraite doit être déclarée en utilisant le abstrait mot-clé.
  • Les classes abstraites peuvent inclure abstrait et non abstrait méthodes.
  • Une classe abstraite ne peut pas être instancié.
  • Ils peuvent inclure constructeurs et statique méthodes.
  • Une classe abstraite comprend final méthodes.

Façons d'abstraction en Java

Le processus d'abstraction en Java peut être réalisé par les deux méthodes suivantes, comme indiqué ci-dessous:

  1. Implémentation d'une classe abstraite
  2. Implémentation d'une interface

La syntaxe des classes abstraites

La syntaxe pour définir les classes abstraites et les méthodes abstraites est la suivante:

classe abstraite Edureka {}
méthode de classe abstraite ()

Exemples pratiques de classes abstraites

// Classe abstraite

package Abstract public abstract class Person {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Gender = '+ this.gender}}

// Classe étudiante

ordre croissant c ++
package Classe publique abstraite Étudiant étend Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Study')} else {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Female', 0) Personne student1 = new Student ('Karan', 'Male', 201021) Person student2 = new Student ('Kumari', 'Female', 101021) Personne student3 = new Student (' John ',' Male ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}

Production:

Ne pas étudier
Poursuivre un diplôme en baccalauréat en génie
Poursuivre un diplôme en baccalauréat en génie
Poursuivre un diplôme en baccalauréat en génie
Nom = Priya :: Sexe = Femme
Nom = Karan :: Sexe = Homme
Nom = Kumari :: Sexe = Femme
Name = John :: Gender = Male

Différence entre interface et classe abstraite

Interface Classe abstraite
Ne peut avoir que des méthodes abstraitesPeut avoir des méthodes abstraites et non abstraites
Il n'a que des variables finalesIl comprend des variables non finales
Il n'a que des variables statiques et finalesIl a des variables statiques, non statiques, finales, non finales
N'implémentera pas la classe abstraitePeut implémenter une interface
Mis en œuvre à l'aide du mot clé 'implements'Mise en œuvre à l'aide du mot-clé 'extend'
Peut étendre uniquement une interfacePeut étendre les classes et les interfaces Java
Les membres sont publics par défautLes membres peuvent être privés et protégés

// Exemple de classe abstraite

package abstactVSinterface abstract class Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle étend Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Cercle étend Forme {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Le cercle est dessiné')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Area of ​​rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('L'aire du cercle est:' + circle.area ())}}

Production:

Superficie du rectangle: 600,0
L'aire du cercle est: 628,0

// Exemple d'interface

package absVSint interface Shape {void draw () double area ()} classe Rectangle implements Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle has been drawn')} @Override public double area () {return (double) (length * width)}} class Circle implements Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Circle has been drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of ​​rectangle:' + rect.area ()) Shape circle = new Circle (20) System.out.println ('Aire du cercle:' + circle.area ())}}

Production:

classe de scanner dans l'exemple java

Superficie du rectangle: 600,0
Aire du cercle: 628,0

Avec cela, nous arrivons à la fin de cet article. J'espère que vous avez compris l'importance de l'abstraction, de la syntaxe, de la fonctionnalité, des règles d'abstraction en Java et des exemples pratiques qui y sont liés.

Maintenant que vous avez compris les bases de Java, consultez le 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. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Printemps .

Vous avez une question pour nous? Mentionnez-le dans la section commentaires de ce blog «Classes abstraites en Java» et nous vous répondrons dans les plus brefs délais.