Abstraktion ist eines der zentralen Konzepte der objektorientierten Programmierung. Abstraktion definiert ein Modell zur Erstellung einer Anwendungskomponente. Die Implementierung der Abstraktion hängt von den sprachspezifischen Eigenschaften und Prozessen ab.
1. Was ist Abstraktion?
Abstraktion ist der Prozess, bei dem die internen Details einer Anwendung vor der Außenwelt verborgen bleiben. Abstraktion wird verwendet, um Dinge in einfachen Begriffen zu beschreiben. Sie wird genutzt, um eine Grenze zwischen der Anwendung und den Client-Programmen zu schaffen.
2. Abstraktion im wirklichen Leben
Abstraktion ist in fast allen realen Maschinen vorhanden.
- Ihr Auto ist ein großartiges Beispiel für Abstraktion. Sie können ein Auto starten, indem Sie den Schlüssel drehen oder den Startknopf drücken. Sie müssen nicht wissen, wie der Motor gestartet wird, welche Komponenten Ihr Auto hat. Die interne Implementierung und komplexe Logik des Autos ist für den Benutzer völlig verborgen.
- Wir können unser Essen in der Mikrowelle erhitzen. Wir drücken einige Tasten, um den Timer und die Art des Essens einzustellen. Schließlich bekommen wir eine heiße und leckere Mahlzeit. Die internen Details der Mikrowelle sind für uns verborgen. Uns wurde der Zugang zur Funktionalität auf eine sehr einfache Weise ermöglicht.
3. Abstraktion in OOPS
Objekte sind die Bausteine der objektorientierten Programmierung. Ein Objekt enthält einige Eigenschaften und Methoden. Wir können sie vor der äußeren Welt durch Zugriffsmodifikatoren verbergen. Wir können nur den erforderlichen Funktionen und Eigenschaften den anderen Programmen zugänglich machen. Dies ist das allgemeine Verfahren zur Implementierung von Abstraktion in OOPS.
4. Welche Arten von Abstraktion gibt es?
Es gibt zwei Arten von Abstraktionen.
- Datenabstraktion
- Prozessabstraktion
4.1) Datenabstraktion
Wenn die Objektdaten für die äußere Welt nicht sichtbar sind, entsteht Datenabstraktion. Bei Bedarf wird der Zugriff auf die Objektdaten über einige Methoden bereitgestellt.

4.2) Prozessabstraktion
Wir müssen keine Details zu allen Funktionen eines Objekts bereitstellen. Wenn wir die interne Implementierung der verschiedenen Funktionen, die an einer Benutzeroperation beteiligt sind, verbergen, entsteht Abstraktion des Prozesses.

5. Abstraktion in Java
Abstraktion in Java wird durch Schnittstellen und abstrakte Klassen implementiert. Sie werden verwendet, um eine Basisimplementierung oder einen Vertrag für die tatsächlichen Implementierungsklassen zu erstellen. Car.java: Basisschnittstelle oder abstrakte Klasse
package com.journaldev.oops.abstraction;
public interface Car {
void turnOnCar();
void turnOffCar();
String getCarType();
}
ManualCar.java, AutomaticCar.java: Implementierungsklassen von Car.
package com.journaldev.oops.abstraction;
public class ManualCar implements Car {
private String carType = "Manual";
@Override
public void turnOnCar() {
System.out.println("turn on the manual car");
}
@Override
public void turnOffCar() {
System.out.println("turn off the manual car");
}
@Override
public String getCarType() {
return this.carType;
}
}
package com.journaldev.oops.abstraction;
public class AutomaticCar implements Car {
private String carType = "Automatic";
@Override
public void turnOnCar() {
System.out.println("turn on the automatic car");
}
@Override
public void turnOffCar() {
System.out.println("turn off the automatic car");
}
@Override
public String getCarType() {
return this.carType;
}
}
User Program: Schauen wir uns ein Testprogramm an, in dem die Car-Funktionen verwendet werden.
package com.journaldev.oops.abstraction;
public class CarTest {
public static void main(String[] args) {
Car car1 = new ManualCar();
Car car2 = new AutomaticCar();
car1.turnOnCar();
car1.turnOffCar();
System.out.println(car1.getCarType());
car2.turnOnCar();
car2.turnOffCar();
System.out.println(car2.getCarType());
}
}
Das Clientprogramm kennt nur das Auto und die Funktionen, die das Auto bereitstellt. Die internen Implementierungsdetails sind dem Clientprogramm verborgen. Referenzen: Wikipedia, Oracle Docs
Source:
https://www.digitalocean.com/community/tutorials/what-is-abstraction-in-oops