Dostep do aktualnej wartosci pola innej klasy

0

Witam mam taki problem:

mam klase1 i klase2

w klasie1:

-mam pole boolean Status
-metode ktora w zaleznosci od jakis tam warunkow czasem zmienia ten Status z true na false lub na odwrot

w klasie 2 mam timer, w ktorym chce co sekunde pobierac aktualna wartosc pola Status z klasa1

nie wiem jak to zrobic? gdy tworze obiekt klasy1 w klasie2 to otrzymuje pole klasa1.Status o wartosci z inicjalizacji.. nie widze zmian tego parametru ;/ jak to zrobic?

z gory dziekuje za pomoc

0

Jesli pole status nie jest static, to nie istnieje cos takiego jak wartość pola status w klasie klasa1. Jeśli chcesz pobierać wartość pola status konkretnego obiektu, to jedno z rozwiązań jest takie:

public class K2
{
    K1 referencja;

    public K2(....,K1 ref)
    {
        ....
        referencja=ref;
        ....
    }
    -------------- 
        if(ref.status==...)  // jeśli pole  status  ma dostęp  typu  public  lub   
        if(ref.getStatus()==...)
       
}
0

lub przez dziedziczenie można to zrobić jeżeli typ boolean jest private to zrobic klase publiczną, która zwracaj wartość tej zmiennej boolean

0

Trudno stwierdzić jakie są w ogóle warunki działania program. Ale jeżeli pętla sprawdzająca wartość status robi tylko to i w razie zmiany wykonuje jakąś czynność to lepiej będzie ugryźć problem z drugiej strony. Czyli żeby to klasa1 informowała klasę2 o zmianie statusu. A wykonasz to poprzez wzorzec projektowy obserwator.

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