CoboCards App FAQ & Wishes Feedback
Language: English Language
Sign up for free  Login

Get these flashcards, study & pass exams. For free! Even on iPhone/Android!

Enter your e-mail address and import flashcard set for free.  
Go!
All main topics / Informatik / Java

Java (135 Cards)

Say thanks
104
Cardlink
0
Was sind Super- und Subklassen?
Generalisierende, allgemeinere Klasse heißt Superklasse
- enthält alle gemeinsamen Attribute

untergeordnete Klasse heißt Subklasse
- enthält nur individuelle Attribute und Methoden



Pfeil kann als "ist-ein"-Beziehung gelesen werden
Tags: Generalisierung und Vererbung, VL 07
Source:
105
Cardlink
0
Wozu nutzen wir Generalisierungen?
Bilden gemeinsamer Schnittstellen

Effizienz
Gemeinsame Attribute und Methoden nicht mehrfach implementiert

hierarchische Struktur sorgt für mehr Übersicht

Lesbarkeit
trotz Auslagerung von Codeteilen in Superlassen ist Verteilung durch klare Beziehungen nachvollziehbar

Struktur erweiterbar:
neue Klassen können einfach eingegliedert werden
Tags: Generalisierung und Vererbung, VL 07
Source:
107
Cardlink
0
Was ist Vererbung und welche Arten gibt es?
Weitergabe von Daten, Verhalten und Benutzbarkeit einer Superklasse an Subklasse

in OOP zwei Arten von Vererbung
  °Implementierungsvererbung (-> Daten und Verhalten)
  °Schnittstellenvererbung (-> Benutzbarkeit)

in Java zwei Arten von Vererbung
- Schlüsselwort extends => alles wird vererbt
  ° Daten
  ° Verhalten
  ° Benutzbarkeit

- Schlüsselwort implements
=> lediglich Schnittstellenvererbung
Tags: Generalisierung und Vererbung, VL 07
Source:
108
Cardlink
0
Wie funktioniert die Vererbung mit "extends"?
Subklasse erbt konkrete Implementierung der Superklasse

bindet Klassen dicht aneinander
- Änderung der Superklasse wirkt sich auf alle Subklassen aus
- Erweiterung der Superklasse muss für alle Subklassen auch gültig sein

Jede Klasse hat maximal eine Superklasse (Einfachvererbung), kann aber beliebig viele Subklassen haben


Syntax
Neu deklarierte Klasse erweitert durch Schlüsselwort extends andere Klassen und erbt von ihr

vererbte Eigenschafte müssen nicht neu deklariert werden


Beispiel
public class Banane extends Obst{
     //...
}
Tags: Generalisierung und Vererbung, VL 07
Source:
109
Cardlink
0
Was wird mit extends vererbt? Gibt die verschiedenen Sichtbarkeiten an!
Subklasse hat Zugriff auf alle öffentlichen und geschützten Member

Private und package-private (default) sind nicht aufgreifbar

Tags: Generalisierung und Vererbung, VL 07
Source:
110
Cardlink
0
Was ist die Klasse "Object" ?
der "big Daddy "

implizite Basisklasse aller Klassen in Java

ohne extends-Anweisung*+ hinter Klassenname erbt Klasse automatisch von Object

alle Klassen ** haben  - direkt oder indirekt - Object als Basisklasse
- erben Reihe von Methoden, u.a toString()


Beispiel

public class Lebensmittel {
    // Klasse erbt von Object, da keine explizite extends-Anweisung
}
Tags: Generalisierung und Vererbung, VL 07
Source:
111
Cardlink
0
Was sind Superkonstruktoren ?
Bei Objekterzeugung zunächst von oben nach unten ausgeführt
- notwendig, um alle Eigenschaften (auch die geerbten) zu initialisieren



Auch parametrisierte Konstruktoren rufen Standard-Konstruktor der Superklasse auf.

Wenn Superklasse keinen Standard-Konstruktor hat, muss expliziter Aufruf erfolgen

public class Obst {
     ....
           public Obst(Color farbe, boolean istReif) {
              
...
           }
}


public class Apfel extends Obst {
     //...
          public  Apfel(boolean hatWurm) {
               super(Color.green, true);
          }
}
Tags: Generalisierung und Vererbung, VL 07
Source:
112
Cardlink
0
Was sind Finale Klassen ?
Um Vererbung zu verhindern hat Java Schlüsselwort final

Manche Klassen sollten vor Vererbung geschützt werden

Syntax:

public final class SecuritySystem{
}
Tags: Generalisierung und Vererbung, VL 07
Source:
113
Cardlink
0
Was sind die Vorteile der Implementierungsvererbung?
Gemeinsame Eigenschaften müssen nur einmal modelliert werden
-> Wiederverwendbarkeirt

erleichert Fehlersuche und -korrektur - > kann zentral durchgeführt werden

reduziert Programmieraufwand und Coderedundanz
Tags: Generalisierung und Vererbung, VL 07
Source:
114
Cardlink
0
Welche Nachteile hat die Implementierungsvererbung?
kein Allheilnittel
- wahre Welt nicht immer hierarchisch
- Vererbung oft inflationär eingesetzt

starke Kopplung zwischen Super- und Subklassen
- Änderung an Super- wirkt sich auf Subklasse aus
- auch über viele Ebenen hinweg

viel Fehlerpotential
- falscher Featureeinsatz
- kaum Schutz vor Fehlverwendung
Tags: Generalisierung und Vererbung, VL 07
Source:
115
Cardlink
0
Was sind abstrakte Klassen und welche Eigenschaften haben sie?
Generalisierungen führen oft zu Klassen, die nie selbst initialisiert werden.

Schlüsselwort abstract verhindert Initialisierbarkeit
- können nicht mit new erzeugt werden

Abstrakte Klassen
- können nicht erzeugt werden
- können abstrakte Methoden beinhalten
- können konkrete Methoden beinhalten

Abstrakte Methoden
- haben keinen Rumpf
- müssen in Subklasse implementiert werden
- spielen bei Polymorphismus noch eine große Rolle
- können nicht in konkreten Klassen definiert werden
Tags: Generalisierung und Vererbung, VL 07
Source:
Flashcard set info:
Author: P-H-I-L
Main topic: Informatik
Topic: Java
Published: 13.04.2010
 
Card tags:
All cards (135)
Einführung in die OOP (13)
Felder (6)
Generalisierung und Vererbung (11)
Interfaces und Polymorphismus (20)
Programmelemente (26)
Terminologie (8)
VL 03 Kontrollstrukturen (9)
VL 03 Kontrollstrukturen S. 5 (1)
VL 05 (15)
VL 06 Einführung in die OOP (2)
VL 07 (11)
VL 09 GUI Event-Handling (6)
VL Programmelemente (2)
VL03 Kontrollstrukturen (1)
VL04 (6)
VL08 (20)
VL09 GUI (2)
Report abuse

Cancel
Email

Password

Login    

Forgot password?
Deutsch  English