1. Was ist Objektorientierung? 2. Objektorientierte Sprachen 3. Was ist Datenkapselung? 4. Vorteile...

Post on 06-Apr-2015

104 views 1 download

Transcript of 1. Was ist Objektorientierung? 2. Objektorientierte Sprachen 3. Was ist Datenkapselung? 4. Vorteile...

1. Was ist Objektorientierung?2. Objektorientierte Sprachen3. Was ist Datenkapselung?4. Vorteile der Datenkapselung5. Nachteile der Datenkapselung6. Grundlegende Begriffe7. Was ist Vererbung?8. Was ist Polymorphie?

Simula-67: erste objektorientierte Programmiersprache Art Programmierung, um praktischen Erfordernissen besser

gerecht zu werden Keine Trennung von Datenstrukturen und aktiven

Funktionen. Grundelemente: Datenkapselung, Polymorphie Vererbung.

Smalltalk C# C++ Simula-67 Eiffel Ruby Java Python Pascal Fortran

Schutz von Klassen und Attributen vor unerwünschten Zugriffen

Kapsel versteckt Teile des Objekts Durchlässige Stellen der Kapsel nennt man Schnittstellen.

Änderung der Implementierung möglich, ohne die Zusammenarbeit mit anderen Klassen zu beeinträchtigen

Erhöhte Übersichtlichkeit Einzelne innere Zusammenhänge veränderbar, ohne es in

anderen Programmteilen zu ändern Verbesserte Testbarkeit, Stabilität und Änderbarkeit der

Software bzw. deren Teile (Module) Bei Zugriff über eine Zugriffsfunktion spielt es von außen

keine Rolle, ob diese Funktion im inneren der Klasse existiert.

In Abhängigkeit vom Anwendungsfall Geschwindigkeitseinbußen durch den Aufruf der Methode.

Zusätzlicher Programmieraufwand für die Erstellung der Zugriffsmethoden.

Klassen: Vorlagen, aus denen Instanzen genannte Objekte zur

Laufzeit erzeugt werden. Abstraktion: Als Abstraktion bezeichnet man jedes Objekt im System,

dass als abstraktes Modell eines Akteurs betrachtet werden kann. Feedback: Verschiedene Objekte kommunizieren über einen

Nachricht-Antwort-Mechanismus. Attribute: Objekte (Hosen, Jacken, Pullover, ...) besitzen verschiedene

Eigenschaften (Farbe, Größe, Material,...). Diese Eigenschaften eines Objekts heißen Attribute

Schritt zur neuen Konstrukte (Klasse) Zwei verschiedene Arten von Vererbung

SchnittstellenvererbungSchnittstellenvererbung „erbt“ eine abgeleitete Klasse

den code von der MethodenImplementationsvererbung

abgeleitete Klasse erbt auch die Implementierung von einer oder mehreren "Anfangsklassen"

Klasse übernimmt Merkmale einer alten Klasse

„Verebende“ Klasse = „Basisklasse“ oder „Superklasse“ „Erbende“ Klasse = „abgeleitete Klasse“ oder „Subklasse“ Mehrfachvererbung: eine Klasse erbt mehrere Merkmale

einer anderen Klasse

ENDE