vererbung · 2013. 3. 6. · 08.03.2013 vererbung javakurs 2013 arne kappen this work is licensed...
TRANSCRIPT
-
08.03.2013
VererbungJavakurs 2013
Arne Kappen
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License
www.freitagsrunde.org
-
2
Inhalt
1.Wiederholung: Objekte
2.Wozu Vererbung?
3.Abstrakte Klassen
4.Interfaces
5.Beispiel
-
3
Inhalt
1.Wiederholung: Objekte
2.Wozu Vererbung?
3.Abstrakte Klassen
4.Interfaces
5.Beispiel
-
4
Wiederholung: Objekte
● Sinnvolle Bündelung von Daten– Geben Struktur durch
● Members● Methoden
-
5
Beispiel: Fahrzeug
public class Fahrzeug {
private int raeder;
private int baujahr;
private String farbe;
public void fahren() {}
}
-
6
Inhalt
1.Wiederholung: Objekte
2.Was ist Vererbung?
3.Abstrakte Klassen
4.Interfaces
5.Beispiel
-
7
Was ist Vererbung?
● Hierarchie von Klassen
● Unterklassen “erben” Member & Methoden– Methoden können überschrieben werden
-
8
Wozu Vererbung?
● Ähnliche Idee wie Objekte “im Kleinen”
● Klassenhierarchien strukturieren große Programme
● Wesentlicher Bestandteil der Architektur und der Planung
-
9
Beispiel: Auto
public class Auto extends Fahrzeug {
// implizit alle Member von Fahrzeug
// zusätzliche eigene Member
private String[] gepaeck;
// alle Methoden von Fahrzeug
// eigene/überschriebene Methoden
}
-
10
Inhalt
1.Wiederholung: Objekte
2.Was ist Vererbung?
3.Abstrakte Klassen
4.Interfaces
5.Beispiel
-
11
Abstrakte Klassen
● Erweiterung des Oberklassen-Konzepts
● Abstrakte Klasse kann nicht instanziiert werden– Deklaration geht nach wie vor!
● Dient nur noch der Strukturierung
-
12
Beispiel: Fahrzeug
public abstract class Fahrzeug {
private int raeder;
private int baujahr;
private String farbe;
public void fahren() {}
}
● Denn es gibt DAS Fahrzeug nicht, nur die Kategorie
-
13
Inhalt
1.Wiederholung: Objekte
2.Was ist Vererbung?
3.Abstrakte Klassen
4.Interfaces
5.Beispiel
-
14
Interfaces
● Keine Klasse, sondern Methodensammlung
● Klassen implementieren Interfaces
● Interfaces sichern Funktionalität zu
-
15
Beispiel: Fahrbar
public interface Fahrbar {
public void gasGeben(int geschwindigkeit);
public void bremsen(int geschwindigkeit);
}
-
16
Beispiel: Auto
public class Auto implements Fahrbar {
public void gasGeben(int geschwindigkeit) {
...}
public void bremsen(int geschwindigkeit) {
...}
}
-
17
Beispiel: Auto
● Jetzt ist klar: Auto ist fahrbar● Ich kann gasGeben() und bremsen() auf Auto
aufrufen
● Interface-Namen verdeutlichen Funktion– Comparable, Runnable...
● “sprechende” Methoden-Namen helfen!
-
18
Inhalt
1.Wiederholung: Objekte
2.Was ist Vererbung?
3.Abstrakte Klassen
4.Interfaces
5.Beispiel
-
19
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19