Abstraction Java

Classes abstraites et méthodes
Données abstraction est le processus consistant à masquer certains détails et à ne montrer que les informations essentielles à l’utilisateur.
L’abstraction peut être réalisée avec soit cours abstraits ou
interfaces (dont vous en apprendrez plus dans le chapitre suivant).
Le abstract
mot-clé est un modificateur non-accès, utilisé pour les classes et les méthodes :
- Classe abstraite : est une classe restreinte qui ne peut pas être utilisée pour créer des objets (pour y accéder, elle doit être héritée d’une autre classe).
- Méthode abstraite : ne peut être utilisé que dans une classe abstraite et n’a pas de corps. Le corps est fourni par la sous-classe (héritée de).
Une classe abstraite peut avoir à la fois des méthodes abstraites et régulières :
abstract class Animal {
public abstract void animalSound();
public void sleep() {
System.out.println("Zzz");
}
}
A partir de l’exemple ci-dessus, il n’est pas possible de créer un objet de la classe Animal :
Animal myObj = new Animal(); // will generate an error
Pour accéder à la classe abstraite, elle doit être héritée d’une autre classe. Convertissons la classe Animal que nous avons utilisée dans le chapitre Polymorphisme en une classe abstraite :
Exemple
// Abstract class
abstract class Animal {
// Abstract method (does not have a body)
public abstract void animalSound();
// Regular method
public void sleep() {
System.out.println("Zzz");
}
}
// Subclass (inherit from Animal)
class Pig extends Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
}
class Main {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
Essayez-le vous-même »
Pourquoi et quand utiliser des classes et des méthodes abstraites ?
Pour assurer la sécurité, masquez certains détails et affichez uniquement les détails importants d’un objet.
Note: L’abstraction peut également être réalisée avec des interfaces, dont vous en apprendrez plus dans le chapitre suivant.
#Abstraction #Java