Code mit Vererbung zentralisieren

Einführung in die Objektorientierte Programmierung in Java

Sani Yusuf

Lead Software Engineering Content Developer

Mit mehreren Klassen arbeiten

  // Toyota-Klasse
  class Toyota {
      public String model;
      public String color;
      public String licensePlate;  
  }
  // Honda-Klasse
  class Honda {
      public String model;
      public String color;
      public String licensePlate;       
  }
  // Mercedes-Klasse
  class Mercedes {
      public String model;
      public String color;
      public String licensePlate;        
  }
  • Duplikate kommen bei Klassen oft vor
Einführung in die Objektorientierte Programmierung in Java

Die Stärke der Vererbung

  • Vererbung löst doppelten Code
  • Gemeinsamer Code liegt an einem Ort
  • Klassen erben dann mit dem Schlüsselwort extends
  // Car-Klasse
  class Car {
     // Alle public-Eigenschaften 
     // werden vererbt
     public String model;
     public String color;
     public String licensePlate;  
 }

  // Toyota erbt von Car
  class Toyota extends Car {

  }
  // Honda erbt von Car
  class Honda extends Car {

  }
  // Mercedes erbt von Car
  class Mercedes extends Car {

  }
Einführung in die Objektorientierte Programmierung in Java

Einführung in die Basisklasse

  • Die Basisklasse enthält den gemeinsamen Code

  class Car {
     public String model;
     public String color;
     public String licensePlate;  
 }



Einführung in die Objektorientierte Programmierung in Java

Mit Unterklassen erben

  • Die Unterklasse ist die Klasse, die von der Basisklasse erbt
  • Die Toyota-Klasse ist eine Unterklasse
  • Eine Unterklasse erbt alle öffentlichen Eigenschaften und Methoden der Basisklasse
  • Die Methode super() ruft den Konstruktor der Basisklasse auf
  // Car-Basisklasse
  class Car {
     public String model;
     public String color;
     public String licensePlate;  
 }

 // Toyota-Unterklasse
  class Toyota extends Car {


// Toyota-Konstruktor public Toyota(){ // super() ruft // den Basisklassen-Konstruktor (Car) auf super(); } }
Einführung in die Objektorientierte Programmierung in Java

Instanzen mit Vererbung erzeugen

  • Eigenschaften der Basisklasse können von Objekten genutzt werden

  // Car-Klasse  
  class Car {
    public String color;   

    // Car-Konstruktor
    public Car(String color){
      this.color = color;
    }    
  }




  // Toyota-Unterklasse
  class Toyota extends Car {
     public Toyota(){
       super();
     }
  }
  // Main-Klasse 
  public class Main {
    public static void main(String[] args) {
        Toyota myToyota = new Toyota("Brown");
        // Eigenschaft "color" von "Car" geerbt
        System.out.println(
          myToyota.color); // Brown
    }
  }
Einführung in die Objektorientierte Programmierung in Java

Lass uns üben!

Einführung in die Objektorientierte Programmierung in Java

Preparing Video For Download...