kramann.info
© Guido Kramann

Login: Passwort:










Informatik3
1 Vom_struct_zur_Klasse
..1.1 Vom_struct_zur_Klasse
..1.2 struct_Programm
..1.3 Klassen_Programm
..1.4 Offene_Fragen
..1.5 Historie
..1.6 Objektabstraktion
..1.7 OO_Kundenverwaltung
..1.8 Objektfaehigkeiten
..1.9 Formatierung
..1.10 Motivation
..1.11 Uebung1
..1.12 Uebung2
2 UML
..2.1 Volumenberechnung
..2.2 UML_Klassendiagramm
..2.3 Konstruktor
..2.4 Statische_Variable
3 Strings
..3.1 Klassenbibliotheken
..3.2 stringUML
..3.3 Uebung3
4 Initialisierungen
4 bluej
5 Zeiger_und_Arrays
..5.1 Zeiger
..5.2 Zeiger_und_Funktion
..5.3 Uebung4
6 Vererbung
..6.1 MesswerteUML
..6.2 MesswerteProgramm
..6.3 VererbungsProgramm
..6.4 Vector
..6.5 Uebung
7 Modifikatoren
..7.1 public_Vererbung
..7.2 protected_Vererbung
8 Listen_und_Templates
..8.1 Containertypen
....8.1.1 ListeUML
....8.1.2 ListeProgramm
..8.2 Templates
....8.2.1 Listentemplate
....8.2.2 STLvectorTemplate
..8.3 Uebung5
..8.4 Uebung6
..8.5 Uebung7
9 Java
..9.1 Uebung
..9.2 GettingStarted
..9.3 Animation
..9.4 Hybrid
..9.5 Threads
10 Delegation
11 LayoutProjekt
12 Fenster
13 Uebung
14 Zwischenprojekt
..14.1 Befehle
..14.2 Planung
..14.3 JNI
..14.4 JNIumsetzen
..14.5 Anwendungsklasse
..14.6 GUI01
..14.7 GUI02
15 Rasterlayout
..15.1 Bilder_Packages
..15.2 interfaces
..15.3 ArrayList
..15.4 clone
..15.5 Uebung
16 Nuetzliches
..16.1 Threads
..16.2 Animation
..16.3 RungeKutta
..16.4 Loesungsansatz
..16.5 Internetprogrammierung
....16.5.1 Codegenerierung
....16.5.2 PHP_Programmierung
....16.5.3 PHP_OOP
....16.5.4 Java
17 Algorithmen
..17.1 RungeKutta
..17.2 Loesungsansatz
..17.3 Evoopt
..17.4 Uebung12
..17.5 Uebung8_2014
..17.6 Ausdruecke
18 Uebung10
19 UML_ALT
..19.1 Flaechenberechnung
..19.2 UML_Flaechenberechnung
..19.3 Implementierung
..19.4 ListeUML
..19.5 ListenImplementierung
..19.6 Anwendung

6 Vererbung

Vererbung läuft folgendermassen ab: Man schreibt eine Klasse A und rührt sie nicht mehr an. Man schreibt eine neue KLasse B und vermerkt in der Kopfzeile der Klasse, dass sie alle Eigenschaften und Methoden der Klasse A erben soll. In der Kopfzeile der Klasse B steht dann beispielsweise: class B : public A. Danach verhält sich die Klasse B so, als wären in ihr alle Attribute und Methoden, die auch in Klasse A vorhanden sind.

KLasse A wird als Basisklasse, Klasse B als abgeleitete Klasse bezeichnet.

Vererben heisst also, alles in der abgeleiteten Klasse zur Verfügung zu haben, was es in der Basisklasse gibt, ohne die Basisklasse anrühren zu müssen.

Vorteile der Vererbung:

  • Vermeiden von redundantem Code: Die vererbten Attribute und Methoden können in anderen Klassen benutzt werden, ohne dass man sie dort hinein kopieren müßte.
  • Vermeiden von Fehlern: Die funktionierenden Elemente der Basisklasse stehen in der abgeleiteten KLasse wieder zur Verfügung. Kopierfehler sind ausgeschlossen.
  • Gleichartige Behandlung von Objekten unterschiedlicher Klassen: Haben mehrere Objekte die gleiche Basisklasse, so können sie z.B. gemeinsam in einem Array vom Typ der Basisklasse liegen.
  • Verbergen von Komplexität: Gerade bei der Erzeugung von Bentzeroberflächen werden wir viel mit Vererbung arbeiten: Man muss nicht wissen, wie eine Klasse Frame ein Fenster erzeugt, aber man kann eine eigene Klasse schreiben, die von Frame diese Fähigkeit erbt und sie für die eigenen Bedürfnisse anpassen.