Cloud-Lösungen der Zukunft - Testen!
Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!
Abstraktion in der objektorientierten Programmierung
Abstraktion ist eines der Kernkonzepte der objektorientierten Programmierung. Abstraktion definiert ein Modell, um eine Anwendungskomponente zu erstellen. Die Implementierung der Abstraktion hängt von den sprachspezifischen Merkmalen und Prozessen ab.
1. Was ist Abstraktion?
Abstraktion ist der Prozess des Verbergens der internen Details einer Anwendung vor der Außenwelt. Sie wird verwendet, um Dinge in einfachen Begriffen zu beschreiben und eine Grenze zwischen der Anwendung und den Client-Programmen zu schaffen.
2. Abstraktion im echten Leben
Abstraktion ist in fast allen realen Maschinen vorhanden. Ihr Auto und Ihre Mikrowelle sind großartige Beispiele für Abstraktion, bei der komplexe Logik und interne Implementierung vollständig vor dem Benutzer verborgen sind und eine einfache Schnittstelle zur Interaktion bereitstellen.
3. Abstraktion in OOP
Objekte sind die Bausteine der objektorientierten Programmierung. Ein Objekt enthält einige Eigenschaften und Methoden, die wir durch Zugriffsmodifikatoren vor der Außenwelt verbergen können, wobei nur der Zugriff auf die erforderlichen Funktionen und Eigenschaften für andere Programme bereitgestellt wird. Dies ist das allgemeine Verfahren zur Implementierung von Abstraktion in OOP.
4. Welche Arten von Abstraktion gibt es?
Es gibt zwei Arten von Abstraktion: Datenabstraktion und Prozessabstraktion. Datenabstraktion beinhaltet das Verbergen der Objektdaten vor der Außenwelt und bietet bei Bedarf Zugriff über Methoden. Die Prozessabstraktion verbirgt die interne Implementierung der verschiedenen Funktionen, die an einer Benutzeroperation beteiligt sind.
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 eigentlichen 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("Manuelles Auto einschalten");
}
@Override
public void turnOffCar() {
System.out.println("Manuelles Auto ausschalten");
}
@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("Automatisches Auto einschalten");
}
@Override
public void turnOffCar() {
System.out.println("Automatisches Auto ausschalten");
}
@Override
public String getCarType() {
return this.carType;
}
}
User-Programm: Sehen wir uns ein Testprogramm an, bei 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 Client-Programm kennt nur das Auto und die Funktionen, die das Auto bietet. Die internen Implementierungsdetails sind vor dem Client-Programm verborgen. Referenzen: Wikipedia, Oracle Docs
Kostenlosen Account erstellen
Registrieren Sie sich jetzt und erhalten Sie exklusiven Zugang zu weiterführenden Ressourcen, individuellem Support und einer Community von Experten.
Aktuelle Beiträge
Starten Sie Ihre Cloud-Trial mit fortgeschrittener Java-Abstraktion
Verbessern Sie Ihre Java-Projekte mit unserer Cloud-Plattform, die optimale Unterstützung für Abstraktion in der objektorientierten Programmierung bietet.