Hirdetés

Új hozzászólás Aktív témák

  • thon73

    tag

    Van két-három nagyon hasonló osztályom, legyenek Class A, Class B és Class C. Mindegyikben van egy-egy newInstance() metódus, a korábban javasolt Static Factory Method szerint. (Az útmutatásért ismét köszönet és hála :R )

    Arra gondoltam, hogy az azonos részeket kiemelem egy közös "szülő-szintű" abstract osztályba, melynek neve Class Template. Így a három osztály csak egész kevés kódot fog tartalmazni (csak amennyi különböző bennük), és rendre Class A extends Template... stb. módon hivatkoznak a Template osztályra.

    A kérdésem a következő: Létre lehet-e hozni a static newInstance() metódust is az abstract Template osztályban úgy, hogy az egyes leszármazott osztályok (Class A, B és C) örököljék, de az ezeken a leszármazott osztályokon meghívott newInstance() a saját osztály példányát adja vissza?

    Vagyis:

    abstract class Template {
    static ???? newInstance() {
    return ????;
    }
    }

    class A extends Template {
    }

    után az A.newInstance() az A osztály egy példányát adja vissza??
    Eddig annyit gugliztam ki, hogy ez az Abstract Factory Pattern-be tartozik, de a konkrét kérdéssel kapcsolatban csupa ellentmondást találtam.
    Nagyon hálás lennék, ha valaki ezt röviden el tudná magyarázni! Köszönöm!

    SektorFlop! Most működik? :)

Új hozzászólás Aktív témák