Lepiej wyjaśnij pytanie na przykładzie. Mam Model interfejsu, który może być używany do uzyskiwania dostępu do danych. Mogą istnieć różne implementacje Modelu, który może reprezentować dane w różnych formatach, np. XMl, format txt itp. Model nie dotyczy formatów. Powiedzmy, że jedną z takich implementacji jest myxmlModel.Siła Singleton Pattern na klasie implementującej interfejs
Teraz chcę zmusić myxmlModel i każdą inną realizację Modelu podążać Singleton .Powierzchnia Zwykłym sposobem jest, aby myxmlModels konstruktor prywatne i zapewniają metody statycznej fabryki powrotu wystąpienie myModel class.But problem jest interfejs nie może mieć statyczne definicje sposób i wynik nie mogę wymusić konkretną definicję metody fabryki na wszystkich realizacji modelu. Tak więc jedna implementacja może kończyć się dostarczaniem getObject(), a inne mogą mieć NewModel()..
Jedna praca całego pakietu jest umożliwienie dostępu do konstruktora myxmlModel i utworzyć klasę fabryki, która tworzy myxmlModel obiekt i buforować go do dalszego wykorzystania.
Zastanawiam się, czy istnieje lepszy sposób na osiągnięcie tej samej funkcjonalności.
Próbowałem, że klasa .Abstract nie zadziała – Duleb
Polimorfizm nie zadziała w przypadku metody statycznej. Sprawdź, czy masz metodę statyczną w klasie abstrakcyjnej i nadpisujesz ją w podklasie, a jeśli spróbujesz uzyskać dostęp do tej metody, oryginalna nazwa nie będzie nazywana metodą podklasy. – Duleb
Ahhh, oczywiście, przepraszam za to. – Steven