zapisz wszystkie zmiany atrybutów klasy

Do celów debugowania muszę śledzić aClass zmiany atrybutów.

Na przykład rozważ następującą klasę:

class Test {
    int myInt;
    String myString;
    ...

    public void setMyInt(int a) ...
    public void setMyString(String s) ...

    public printDebugLog();
}

void main() {
    Test t = new Test();
    t.setMyInt(5);
    t.setMyString("Hello");
    t.printDebugLog();
}

Chcę wydrukować coś w stylu:

myInt => 5
myString => Hello

Łatwym rozwiązaniem jest natychmiastowe tworzenie dzienników. tj. dodającLog funkcja jak następuje:

void Log(String s) {
    System.out.println(s);
}

a następnie kodzestaw funkcje jak poniżej:

void setMyString(String s) {
    myString = s;
    Log("myString => " + s);
}

to wymaga wszystkichzestaw funkcje, które mają być pisane różnie i zastanawiam się, czy są jakieślepszy rozwiązanie dla takiej sprawy. Na przykład może być łatwiej (jeśli to możliwe) utworzyćSetValue funkcja, która przyjmuje dwie zmienne i ustawia pierwszy atrybut na wartość drugiego obiektu. lub coś w tym stylu.

Dowolny pomysł?

questionAnswers(3)

yourAnswerToTheQuestion