Czy interfejs ma dostęp do pól/metod klasy która go implementuje ?

2017-10-27 11:01
0

Witam
Mam pytanko jak z poziomu interfejsu który jest implementowany w mojej klasie sprawdzić w metodzie jakieś pole i przykładowo je porównać ? Ta konstrukcja nie działa ale jak w metodzie defaultowej można i czy można badać jakoś obiekty(ich pola) klas które implementują dany interfejs.
Dzieki za ewentualne odpowiedzi.
Pozdrawiam

public class Hero  implements Cloneable, JakisInterfejs {
    private String name;
    private int life;

... konstruktor, getery i inne metody...
}

public interface JakisInterfejs {
    default boolean vis(){
        if (getName().equals("Pattern")) return true;
        return false;
    }
}

Pozostało 580 znaków

2017-10-27 11:37

i czy można badać jakoś obiekty(ich pola) klas które implementują dany interfejs.

Nie powinno się tak robić (poczytaj o zasadach SOLID) - jeśli jednak z jakiegoś powodu musisz, masz w aplikacji błąd projektowy.
Opisz konkretniej, co chcesz osiągnąć.


edytowany 1x, ostatnio: Patryk27, 2017-10-27 11:37

Pozostało 580 znaków

2017-10-27 13:17
1

Możesz w tym swoim przykładzie w interfejsie JakisInterfejs zrobić metodę getName() którą każda subklasa musi implementować i wtedy to zadziała.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0