Внутренний класс, модифицирующий собственный атрибут класса - PullRequest
3 голосов
/ 01 июля 2010

У меня есть такой код:

class Foo() {
    time_to_play = 0
    class Bar() {
        void change_player() {
            //I need something HERE
        }
    }

}

И мне нужно изменить атрибут time_to_play из класса Foo, но сделать это изменение внутри метода change_player(), который находится в классе Bar.

Я не могу объявить класс Bar вне класса Foo, сделать 'extension' и вызвать super. ..., потому что это сломало бы OO в моем случае.

Кроме того, я не хочу делать time_to_play статической переменной, вызывая Foo.time_to_play

Как я могу это сделать?

1 Ответ

6 голосов
/ 01 июля 2010

То, что вы хотите:

void change_player() {
    Foo.this.time_to_play = // something
}
...