REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



Prinzipien der objektorientierten Programmierung

Prinzipien der objektorientierten Programmierung

Inhaltsverzeichnis:

Ziele der OOP

Geschichte

Wichtige Konzepte und Begriffe

o       Datenkapselung



o       Objekt

o       Klasse

o       Vererbung

OOP anhand eines Beispiels in C++

Erläuterung einiger Begriffe der OOP in C++


Ziele - Was soll durch die OOP erreicht werden?

  • bessere Wartbarkeit
  • Wiederverwendbarkeit

Geschichte

  • Ende der 70er-Jahre: PARC (OOP, GUI, Maus, Laserdrucker,)
  • Sprachen:
    • 'reine' OOPS: SMALLTALK
    • 'Mischsprachen': C++, TurboPascal (ab 5.5)

Wichtige Konzepte und Begriffe

Datenkapselung

komplexe Datenstrukturen (z.B. Stack) werden vom Anwendungsprogramm nicht direkt verwendet sondern nur mittels sogenannter 'Zugriffs-Funktionen' (z.B.: push(x), pop())

Implementierung der Datenstruktur (z.B. Stack: Array oder Liste oder?) bleibt dem Anwendungsprogrammierer verborgen (=Information Hiding)

Vorteil: Anderung bei der Datenstruktur-Implementierung hat keine Auswirkung auf das Anwendungsprogramm

Konzept bereits vor der OOP bekannt
Realisierung z.B. in C: eigener Modul für Datenstruktur, 'static-globale' Variablen
Problem: mehrere Instanzen einer Datenstruktur?

Objekt

hat einen inneren Zustand, besitzt Eigenschaften

bietet Methoden an, um z.B. seine Eigenschaften zu manipulieren;
die Methoden bestimmen das 'Verhalten eines Objekts

reagiert auf Nachrichten von anderen Objekten durch Ausführung einer Methode bzw. sendet Nachrichten an andere Objekte um deren Methoden zu aktivieren

Vergleich mit 'herkömmlichen' (nicht-oo) Begriffen:

OBJEKTORIENTIERT

'HERKÖMMLICH'

BEISPIEL

Objekt

(strukturierte) Variable

Karl Müller

Eigenschaft

Wert einer Variablen (-Komponente)

23 Jahre alt

Methode

Funktion / Prozedur

erlerne etwas

Nachricht

Aufruf einer Funktion / Prozedur

lerne C++

Klasse

'Bauplan' für gleichartige Objekte

legt Eigenschaften und Methoden fest

Vergleich mit 'herkömmlichen' (nicht-oo) Begriffen:
Klasse = Daten-Typ
Beispiel: Person

Objekte sind 'Instanzen' einer Klasse

Vererbung

zum Aufbau einer Hierarchie von ähnlichen Klassen

Unterklasse (= abgeleitete Klasse) erbt von einer Oberklasse (= Basisklasse)

Unterklasse:

o      erbt Eigenschaften und Methoden der Oberklasse

o      kann Eigenschaften hinzufügen

o      kann neue Methoden hinzufügen, geerbte Methoden durch eigene ersetzen

Vererbung bewirkt Spezialisierung

Vererbung stellt 'Is-A' - Beziehung dar (z.B. Schüler ist-eine Person)

Mehrfach-Vererbung: Unterklasse erbt von mehreren Oberklassen






Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen