Product Design, Manufacturing & Innovation Resources
Heim » Abstraktion (OOP-Programmierung)

Abstraktion (OOP-Programmierung)

1970
  • Barbara Liskov
Softwareentwickler, der abstrakte Klassen in einer modernen IDE-Umgebung programmiert.

(Abbildung dient nur zur Veranschaulichung)

Abstraktion in OOP Abstraktes Design ist das Konzept, komplexe Implementierungsdetails zu verbergen und nur die wesentlichen Merkmale eines Objekts darzustellen. Es konzentriert sich darauf, was ein Objekt tut, anstatt darauf, wie es dies tut. Dies wird durch abstrakte Klassen und Schnittstellen erreicht, die eine Vorlage für andere Klassen definieren, ohne eine vollständige Implementierung bereitzustellen, wodurch komplexe Systeme vereinfacht werden.

Abstraktion ist ein Prozess der Komplexitätsbewältigung. In der Programmierung bedeutet sie, eine vereinfachte Darstellung eines Systems oder einer Komponente zu erstellen. In der objektorientierten Programmierung (OOP) geschieht dies primär mithilfe abstrakter Klassen und Schnittstellen. Eine abstrakte Klasse kann nicht direkt instanziiert werden und dient der Ableitung von Unterklassen. Sie kann abstrakte Methoden (Methoden ohne Implementierungsrumpf) enthalten, die von Unterklassen implementiert werden müssen. Eine Schnittstelle ist ein ähnliches Konzept, jedoch rein abstrakt; sie kann lediglich Methodensignaturen, nicht aber Implementierungen definieren. Eine Klasse kann dann eine Schnittstelle implementieren und damit die darin definierte Funktionalität bereitstellen.

Dies ermöglicht es Programmierern, einen gemeinsamen Vertrag oder eine API zu definieren, an die sich mehrere verschiedene Klassen halten können. Beispielsweise könnte ein Interface „Storable“ die Methoden „save()“ und „load()“ definieren. Verschiedene Klassen wie „Document“, „Image“ und „UserSettings“ könnten alle das Interface „Storable“ implementieren und jeweils ihre eigene Logik zum Speichern und Laden bereitstellen. Code, der mit „Storable“-Objekten arbeitet, muss den genauen Objekttyp nicht kennen; er muss lediglich wissen, dass er „save()“ aufrufen kann. und ‘load()’. Dadurch wird der Client-Code von den spezifischen Implementierungen entkoppelt, was das System modularer, flexibler und auf einer höheren Ebene leichter verständlich macht.

UNESCO Nomenclature: 1203
- Computerwissenschaften

Typ

Abstraktes System

Störung

Grundlegendes

Verwendung

Weitverbreitete Verwendung

Vorläufer

  • mathematische Abstraktion
  • das Konzept von Unterprogrammen und Funktionen als Form der prozeduralen Abstraktion
  • Theorie abstrakter Datentypen (ADT)
  • die Notwendigkeit, die Komplexität großer technischer Projekte zu bewältigen

Anwendungen

  • Datenbankzugriffsebenen (DALs), die die spezifischen SQL-Abfragen verbergen
  • Gerätetreiber, die die Hardwarekomplexität vom Betriebssystem abstrahieren
  • Bibliotheken für grafische Benutzeroberflächen (GUI), die Widgets auf hoher Ebene bereitstellen
  • Netzwerkprotokolle wie HTTP abstrahieren die zugrunde liegende TCP/IP-Kommunikation
  • die Standardvorlagenbibliothek (stl) in C++

Patente:

NA

Potenzielle Innovationsideen

Aufgrund des hohen Datenverkehrs durch Web-Scraping-Bots, der derzeit mehr als 40.000 Anfragen pro Tag umfasst, ist dieser Inhalt ausschließlich Community-Mitgliedern vorbehalten.
> Anmelden < oder > Registrieren < (100% kostenlos) Zugriff darauf sowie auf alle anderen eingeschränkten Inhalte und Tools.

Verwandt mit: Abstraktion, Schnittstelle, abstrakte Klasse, API, Informationskapselung, Komplexität, OOP, Vertrag, Entkopplung, Modularität.

Historischer Kontext

Abstraktion (OOP-Programmierung)

1967
1967
1970
1970
1970
1970-01-01
1975-06-01
1960
1967
1970
1970
1970
1970
1973
1980

(wenn das Datum unbekannt oder nicht relevant ist, z. B. „Strömungsmechanik“, wird eine gerundete Schätzung seines bemerkenswerten Auftretens bereitgestellt)

Verwandte Erfindungen, Innovationen und technische Prinzipien

Bilder in voller Größe und Downloads sind nur für registrierte Mitglieder 100% kostenlos verfügbar.

> Login <