Vererbung · 2013. 3. 6. · 08.03.2013 Vererbung Javakurs 2013 Arne Kappen This work is licensed...

19
08.03.2013 Vererbung Javakurs 2013 Arne Kappen This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License www.freitagsrunde.org

Transcript of Vererbung · 2013. 3. 6. · 08.03.2013 Vererbung Javakurs 2013 Arne Kappen This work is licensed...

  • 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