Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:java:learningunits:lu05:a [2025/09/15 10:52] – apeterde:modul:ffit:3-jahr:java:learningunits:lu05:a [2026/09/22 09:25] (aktuell) – apeter
Zeile 1: Zeile 1:
 ====== LU05a - Vererbung ====== ====== LU05a - Vererbung ======
 +
 +==== Mehrfachvererbung ====
 +
 +Im Gegensatz zu zum Beispiel Python können Klassen in Java nicht direkt von mehreren anderen Klassen erben. Lediglich Interfaces können von mehreren Interfaces erben.
  
 ==== Interfaces ==== ==== Interfaces ====
Zeile 9: Zeile 13:
 <code java> <code java>
 public interface Animal {...} public interface Animal {...}
 +</code> 
 +<code java>
 public interface Bird extends Animal {...} public interface Bird extends Animal {...}
 +</code> 
 +<code java>
 public class Penguin implements Bird {...} public class Penguin implements Bird {...}
 </code>  </code> 
Zeile 17: Zeile 23:
 <code ecmascript> <code ecmascript>
 interface Animal {...} interface Animal {...}
 +</code> 
 +<code ecmascript>
 interface Bird extends Animal {...} interface Bird extends Animal {...}
 +</code> 
 +<code ecmascript>
 class Penguin implements Bird {...} class Penguin implements Bird {...}
 </code> </code>
Zeile 33: Zeile 41:
 | {{:de:modul:ffit:3-jahr:java:learningunits:lu05:uml_example_2.png?|}} | <WRAP> | {{:de:modul:ffit:3-jahr:java:learningunits:lu05:uml_example_2.png?|}} | <WRAP>
 <code java> <code java>
-public interface Animal {...}+interface Animal { 
 +    void eat(); 
 +} 
 +</code> 
 +<code java> 
 +abstract class Mammal implements Animal { 
 +    @Override 
 +    public void eat() { 
 +        System.out.println("This mammal is eating."); 
 +    }
  
-public interface Bird extends Animal {...}+    abstract void makeSound();
  
-public class Penguin implements Bird {...}+    public void breathe() { 
 +        System.out.println("Breathing air..."); 
 +    } 
 +} 
 +</code> 
 +<code java> 
 +class Dog extends Mammal { 
 +    @Override 
 +    void makeSound() { 
 +        System.out.println("Woof!"); 
 +    } 
 +}
 </code>  </code> 
 </WRAP> | </WRAP> |
 +
 +Abstrakte Klassen sind daher nützlich, wenn man gewisse Basisfunktionen in einer gemeinsamen Parentklasse implementieren will, aber wiederum andere Methoden erst in der jeweiligen Implementierungsklasse.
  • de/modul/ffit/3-jahr/java/learningunits/lu05/a.1757926336.txt.gz
  • Zuletzt geändert: 2025/09/15 10:52
  • von apeter