Mit Oberklasse "protected final" - Methoden zu halten common code for Unterklassen

Als (pedantisch) Anfänger Java Programmierer würde ich gerne wissen, ist es eine gute Praxis zu bewegen, eine gemeinsame code-block, der alle Unterklassen verwenden, um eine separate geschützt (letzten) - Methode in der übergeordneten Klasse? Aufgaben wie das ausfüllen von Listen mit gemeinsame Werte oder gemeinsame Filterung-algorithmen, etc...
Ist es gut, auch geschützt statische Methoden?

class A {
    protected final List<String> getVariants() {...}
    protected final List<String> filterResults(List<String> variants) {...}
}

class B extends A {
    public List<String> doSomethingUsefull() {
        List<String> commonVariants = getVariants();
        ...
        return filterResults(commonVariants);
    }
}

class C extends A {
    public void doSomethingUsefull() {
        List<String> commonVariants = getVariants();
        ...
        return filterResults(commonVariants);
    }

    public void doMoreUsefullThings() {
        List<String> commonVariants = getVariants();
        ...
        return filterResults(commonVariants);
    }
}

InformationsquelleAutor dmzkrsk | 2011-10-04

Schreibe einen Kommentar