Vererbung Abgeleitete Klassen Bestimmter Typ zuweisen

Bitte aktiviere JavaScript!
Hallo zusammen,
ich bin gerade aufgrund eines neuen Projektes in der Firma dabei mich in Android / Java einzuarbeiten.
Es sollen Pakete gescannt werden und es stehen dabei 3 Scanner-Hersteller zum Test bereit.
Mir schwebt nun vor ein Interface Scanner-Klasse zu erstellen und für die 3 Scanner die jeweiligen SDKs mit deren Aufrufe in abgeleitete Klassen einzubauen. Soweit so gut.
Da aber ja immer nur ein Scanner aktiv sein kann, wollte ich der Anwendung ein Scanner-Objekt mitgeben das auf die Klasse referenziert dessen Scanner gerade ausgewählt ist. Also z.B.
Scanner s = Scanner1() oder aber Scanner s = Scanner2() usw.
Wie kann ich das in Java am Besten bewerkstelligen?

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt was ich erreichen möchte
Markus
 
A

Anzeige




Schau mal hier —> (hier klicken)
Mal skizziert mit Java 8 Syntax:

Java:
public class ScannerFactory {
    private static final Map<String, Supplier<Scanner>> scanners = new HashMap<>();
    static {
        scanners.put("modell1", () -> new ScannerModell1());
        scanners.put("modell2", () -> new ScannerModell2());
        ....
    }

    public static Set<String> getModels() { return scanners.keySet(); }

    public static Scanner newScanner(String model) {
        return scanners.get(model).get();
    }
}
 
A

Anzeige




Vielleicht hilft dir das hier weiter: (klicke hier)
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben