Abstraktion: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''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? == | |||
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 == | |||
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 == | |||
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]] === | ||
* 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]] === | ||
* 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 == | |||
* 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 == | |||
'''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.
