Jak w temacie - jak to zrobić? Mam metodę test() która jest protected w klasie Singletonu. Chce napisać klaskę która będzie pobierać instancję tego singletonu a jednocześnie przebije metodę test().
- Rejestracja:prawie 16 lat
- Ostatnio:6 miesięcy
- Postów:2514
jesteś pewien, że to ma być singleton?


- Rejestracja:około 21 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Space: the final frontier
- Postów:26433
Rozumiem że ta chroniona metoda jest używana w jakichś innych metodach i dlatego chciałbyś zmienić jej zachowanie?
To się nazywa Template Method -> zrób abstrakcyjną klasę bazową która zawiera metodę test jako abstract (reszta kodu może pozostać nie zmieniona).
Następnie zrób klasę dziedziczącą z tej bazowej gdzie test() wygląda tak jak teraz.
Następnie zrób swoja klasę dziedziczącą z tej bazowej z nową implementacją test().

- Rejestracja:ponad 17 lat
- Ostatnio:ponad 2 lata
Ciężko mi pojąć to: może na konkretach. Klasa NativeLibrary z pakietu com.sun.jna
Interesują mnie dwie metody
protected void finalize() {
dispose();
}
public void dispose() {
synchronized(libraries) {
libraries.remove(getName() + options);
File file = getFile();
if (file != null) {
libraries.remove(file.getAbsolutePath() + options);
libraries.remove(file.getName() + options);
}
}
synchronized(this) {
if (handle != 0) {
close(handle);
handle = 0;
}
}
}
Klasa jest w duża więc nie będe wklejał całej.
Nie rozumiem jak będą obsługiwane metody, które nie przebiję. Nie mogę przecież dać super - czy całość muszę po prostu przepisać?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.