Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| 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] – apeter | de:modul:ffit:3-jahr:java:learningunits:lu05:a [2025/09/16 06:52] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 9: | Zeile 9: | ||
| <code java> | <code java> | ||
| public interface Animal {...} | public interface Animal {...} | ||
| + | </ | ||
| + | <code java> | ||
| public interface Bird extends Animal {...} | public interface Bird extends Animal {...} | ||
| + | </ | ||
| + | <code java> | ||
| public class Penguin implements Bird {...} | public class Penguin implements Bird {...} | ||
| </ | </ | ||
| Zeile 17: | Zeile 19: | ||
| <code ecmascript> | <code ecmascript> | ||
| interface Animal {...} | interface Animal {...} | ||
| + | </ | ||
| + | <code ecmascript> | ||
| interface Bird extends Animal {...} | interface Bird extends Animal {...} | ||
| + | </ | ||
| + | <code ecmascript> | ||
| class Penguin implements Bird {...} | class Penguin implements Bird {...} | ||
| </ | </ | ||
| Zeile 33: | Zeile 37: | ||
| | {{: | | {{: | ||
| <code java> | <code java> | ||
| - | public | + | interface Animal { |
| + | void eat(); | ||
| + | } | ||
| + | </ | ||
| + | <code java> | ||
| + | abstract class Mammal implements Animal { | ||
| + | @Override | ||
| + | public void eat() { | ||
| + | System.out.println(" | ||
| + | | ||
| - | public interface Bird extends Animal {...} | + | abstract void makeSound(); |
| - | public | + | |
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | <code java> | ||
| + | class Dog extends Mammal { | ||
| + | @Override | ||
| + | void makeSound() { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | 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. | ||