Работа над простой игрой tic-tac-toe в Java.Как манипулировать классом из другого класса?
У меня есть класс с именем TicTacToe
, который содержит большую часть программы. И у меня есть класс с именем GameHelpers
, который должен содержать методы, которые помогут в игре.
Класс TicTacToe
содержит массив (JButton buttons[9]
) и переменную int count
, в которой хранится количество X и О, которое пользователь уже установил на экран. (Каждый раз, когда пользователь нажимает кнопку, это пустой текст изменяется на X или O, а переменная count идет count ++).
В настоящее время единственным способом, который я планирую написать внутри GameHelpers
, является метод с именем resetGame()
. Этот метод должен делать две вещи:
1- Установите текст на всех кнопках в buttons
пустой.
2- Установить count
0.
Если resetGame()
был метод внутри TicTacToe
, было бы легко. Это будет выглядеть следующим образом:
resetGame(){
for(int i=0;i<9;i++){
buttons[i].setText("");
}
count = 0;
}
Но resetGame()
должен быть метод внутри другого класса, GameHelpers
.
Я предполагаю, что то, что я пытаюсь сделать, является довольно стандартным объектно-ориентированным программированием. Существует класс с большей частью программы, а другой - меньший класс с методами, помогающими большему классу. Программа всегда вращается вокруг большего класса (TicTacToe
).
У меня есть два вопроса:
1- Описанная идея выше (примерно один из основных классов, что программа вращается вокруг, и небольшие классы, чтобы помочь), стандартные и общие в объектно-ориентированных программ?
2- Как бы вы закодировали метод resetGame()
внутри GameHelpers
?
Спасибо
Статические переменные не являются хорошей практикой, он должен лучше использовать частные переменные и публичный сеттер/getter – dehlen
Я знаю, что использовать статику нехорошо, но я думаю, что его главным вопросом было просто вызвать статические методы из другого класса. –
Это не работает. Это дает мне ошибку (красная линия) под TicTacToe.buttons и TicTacToe.count. Ошибка говорит: «Невозможно сделать статическую ссылку на нестатические поля TicTacToe.buttons». – AvivC