Java -Abstraktion
Abstrakte Klassen und Methoden
Datenabstraktion ist der Prozess, bei dem bestimmte Details ausgeblendet und dem Benutzer nur wesentliche Informationen angezeigt werden.
Abstraktion kann entweder mit abstrakten Klassen oder
Schnittstellen erreicht werden (worüber Sie im nächsten Kapitel mehr erfahren werden).
Das abstract
Schlüsselwort ist ein Modifikator ohne Zugriff, der für Klassen und Methoden verwendet wird:
- Abstrakte Klasse: ist eine eingeschränkte Klasse, die nicht zum Erstellen von Objekten verwendet werden kann (um darauf zuzugreifen, muss sie von einer anderen Klasse geerbt werden).
- Abstrakte Methode: Kann nur in einer abstrakten Klasse verwendet werden und hat keinen Körper. Der Körper wird von der Unterklasse bereitgestellt (geerbt von).
Eine abstrakte Klasse kann sowohl abstrakte als auch reguläre Methoden haben:
abstract class Animal {
public abstract void animalSound();
public void sleep() {
System.out.println("Zzz");
}
}
Aus dem obigen Beispiel ist es nicht möglich, ein Objekt der Klasse Animal zu erstellen:
Animal myObj = new Animal(); // will generate an error
Um auf die abstrakte Klasse zuzugreifen, muss sie von einer anderen Klasse geerbt werden. Konvertieren wir die Klasse Animal, die wir im Kapitel Polymorphismus verwendet haben, in eine abstrakte Klasse:
Erinnern Sie sich aus dem Kapitel Vererbung daran , dass wir das extends
Schlüsselwort verwenden, um von einer Klasse zu erben.
Beispiel
// 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();
}
}
Warum und wann werden abstrakte Klassen und Methoden verwendet?
Um Sicherheit zu erreichen - verbergen Sie bestimmte Details und zeigen Sie nur die wichtigen Details eines Objekts an.
Hinweis: Abstraktion kann auch mit Interfaces erreicht werden , worüber Sie im nächsten Kapitel mehr erfahren werden.