Unterklasse soll nicht alle Methoden erben

Gehen wir mal davon aus man hat eine abstrakte Klasse von denen dann alle Unterklassen erben. Somit ja alle nicht abstrakten Methoden und die abstrakten Methoden muss man dann ja nochmal in den Unterklassen implementieren.
Wie genau geht man denn jetzt aber vor wenn eine Unterklasse halt eben nicht alle abstrakten Methoden implementieren soll, weil er die nicht braucht bzw. einfach nicht implementieren soll ? Und wie ist es wenn er eine Methode die bereits in der abstrakten Klasse implementiert wurde nicht braucht ?
 
Wie genau geht man denn jetzt aber vor wenn eine Unterklasse halt eben nicht alle abstrakten Methoden implementieren soll
Dann ist auch die Subklasse abstrakt.

Und wie ist es wenn er eine Methode die bereits in der abstrakten Klasse implementiert wurde nicht braucht ?
Das gibt es nicht, da jede Instanz der Subklasse überall dort verwendet werden können muss, wo eine Instanz der Elternklasse erwartet wird.
 
Und wie ist es wenn er eine Methode die bereits in der abstrakten Klasse implementiert wurde nicht braucht ?
Das hat jetzt nicht unbedingt etwas mit abstrakten Klassen zu tun, aber wenn ich nicht alles von einer Klasse brauche, dann ist evtl. Vererbung nicht der richtige Weg und Komposition ist vorzuziehen.

Nehmen wir an ich möchte eine Stringliste haben, der ich nur Einträge hinzufügen und komplett auslesen kann. Ich benötige also nur einen Teil der Methoden von List<>:

Anstatt von ArrayList zu erben, würde ich:
Java:
public class SpecialStringList {
    List<String> values = new ArrayList<>();
    
    public void add(String value) {
        values.add(value);
    }
    
    public List<String> getAll() {
        return new ArrayList<>(values);
    }
}
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben