Abstraktion: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Abstraktion in der objektorientierten Programmierung ==
'''Abstraktion''' ist eines der Grundprinzipien der objektorientierten Programmierung ([[OOP]]).   
 
'''Abstraktion''' ist eines der Grundprinzipien der objektorientierten Programmierung (OOP).   
Sie bedeutet, dass komplexe Systeme auf ihre '''wesentlichen Eigenschaften''' reduziert werden, damit sie einfacher verständlich und verwendbar sind.   
Sie bedeutet, dass komplexe Systeme auf ihre '''wesentlichen Eigenschaften''' reduziert werden, damit sie einfacher verständlich und verwendbar sind.   
Unwichtige Details werden ausgeblendet, während nur das gezeigt wird, was für die Nutzung eines Objekts wirklich relevant ist.
Unwichtige Details werden ausgeblendet, während nur das gezeigt wird, was für die Nutzung eines Objekts wirklich relevant ist.


=== Was bedeutet Abstraktion? ===
== Was bedeutet Abstraktion? ==
Abstraktion bedeutet:
Abstraktion bedeutet:
* wichtige Eigenschaften hervorheben   
* wichtige Eigenschaften hervorheben   
Zeile 16: Zeile 14:
Man nutzt nur relevante Funktionen wie '''fahren()''', '''bremsen()''' oder '''lenken()'''.
Man nutzt nur relevante Funktionen wie '''fahren()''', '''bremsen()''' oder '''lenken()'''.


=== Abstraktion in Klassen und Objekten ===
== Abstraktion in Klassen und Objekten ==
In der OOP werden Klassen so gestaltet, dass sie:
In der OOP werden Klassen so gestaltet, dass sie:
* nur notwendige Attribute enthalten   
* nur notwendige Attribute enthalten   
Zeile 40: Zeile 38:
Die Methode '''verbrennung()''' ist intern und für den Nutzer der Klasse irrelevant. Das ist Abstraktion.
Die Methode '''verbrennung()''' ist intern und für den Nutzer der Klasse irrelevant. Das ist Abstraktion.


=== Abstraktion durch abstrakte Klassen und Interfaces ===
== Abstraktion durch abstrakte Klassen und Interfaces ==
Bei komplexen Programmen hilft Abstraktion, **Gemeinsamkeiten zu definieren**, ohne konkrete Details festzulegen.
Bei komplexen Programmen hilft Abstraktion, '''Gemeinsamkeiten zu definieren''', ohne konkrete Details festzulegen.


==== Abstrakte Klassen ====
=== [[Abstrakte Klassen]] ===
* definieren gemeinsame Eigenschaften   
* definieren gemeinsame Eigenschaften   
* können abstrakte Methoden enthalten (ohne Implementierung)   
* können abstrakte Methoden enthalten (ohne Implementierung)   
* dienen als Vorlage für andere Klassen
* dienen als Vorlage für andere Klassen


==== Interfaces ====
=== [[Interfaces]] ===
* legen fest, welche Methoden eine Klasse besitzen muss   
* legen fest, welche Methoden eine Klasse besitzen muss   
* enthalten keine konkreten Implementierungen   
* enthalten keine konkreten Implementierungen   
* machen Objektstrukturen einheitlich nutzbar
* machen Objektstrukturen einheitlich nutzbar


=== Vorteile der Abstraktion ===
== Vorteile der Abstraktion ==
* Programme werden übersichtlicher   
* Programme werden übersichtlicher   
* leichter zu verstehen und zu verwenden   
* leichter zu verstehen und zu verwenden   
Zeile 60: Zeile 58:
* ermöglicht Wiederverwendbarkeit und Erweiterbarkeit
* ermöglicht Wiederverwendbarkeit und Erweiterbarkeit


=== Kurzmerksatz ===
== Kurzmerksatz ==
'''Abstraktion bedeutet, ein Objekt auf das Wesentliche zu reduzieren und unnötige Details zu verbergen, damit Programme einfacher und klarer werden.'''
'''Abstraktion bedeutet, ein Objekt auf das Wesentliche zu reduzieren und unnötige Details zu verbergen, damit Programme einfacher und klarer werden.'''

Aktuelle Version vom 12. Januar 2026, 12:33 Uhr

Abstraktion ist eines der Grundprinzipien der objektorientierten Programmierung (OOP). Sie bedeutet, dass komplexe Systeme auf ihre wesentlichen Eigenschaften reduziert werden, damit sie einfacher verständlich und verwendbar sind. Unwichtige Details werden ausgeblendet, während nur das gezeigt wird, was für die Nutzung eines Objekts wirklich relevant ist.

Was bedeutet Abstraktion?

Abstraktion bedeutet:

  • wichtige Eigenschaften hervorheben
  • unwichtige Informationen verbergen
  • komplizierte Systeme vereinfachen
  • klare Schnittstellen anbieten

Beispiel: Ein Auto wird als „Auto“ betrachtet, nicht als Summe aller Schrauben, Kabel und Sensoren. Man nutzt nur relevante Funktionen wie fahren(), bremsen() oder lenken().

Abstraktion in Klassen und Objekten

In der OOP werden Klassen so gestaltet, dass sie:

  • nur notwendige Attribute enthalten
  • nur sinnvolle Methoden anbieten
  • interne Abläufe verstecken

Damit wird die Nutzung einer Klasse einfacher und sicherer.

Beispiel:

class Auto {
    private int geschwindigkeit;

    public void beschleunigen() {   // sichtbar
        geschwindigkeit += 10;
    }

    private void verbrennung() {    // verborgen
        // interne Logik
    }
}

Die Methode verbrennung() ist intern und für den Nutzer der Klasse irrelevant. Das ist Abstraktion.

Abstraktion durch abstrakte Klassen und Interfaces

Bei komplexen Programmen hilft Abstraktion, Gemeinsamkeiten zu definieren, ohne konkrete Details festzulegen.

Abstrakte Klassen

  • definieren gemeinsame Eigenschaften
  • können abstrakte Methoden enthalten (ohne Implementierung)
  • dienen als Vorlage für andere Klassen

Interfaces

  • legen fest, welche Methoden eine Klasse besitzen muss
  • enthalten keine konkreten Implementierungen
  • machen Objektstrukturen einheitlich nutzbar

Vorteile der Abstraktion

  • Programme werden übersichtlicher
  • leichter zu verstehen und zu verwenden
  • fördert klare Strukturen
  • reduziert Fehler, da unnötige Details verborgen bleiben
  • ermöglicht Wiederverwendbarkeit und Erweiterbarkeit

Kurzmerksatz

Abstraktion bedeutet, ein Objekt auf das Wesentliche zu reduzieren und unnötige Details zu verbergen, damit Programme einfacher und klarer werden.