сеттеры и геттеры просты в использовании? - PullRequest
0 голосов
/ 03 сентября 2011

Вопрос ВТОРОЙ ЧАСТИ

Спасибо за большую помощь до сих пор .. Хорошо, я добился прогресса, но что-то все еще не так. Мой класс SpaceWarz выглядит следующим образом:

public class SpaceWarz {
    private boolean deePad; //access to this is restricted
    public boolean getDeePad()
    {       return this.deePad;     }

    public void setDeePad(boolean value)
    {      this.deePad = value;     }
    }

и он счастливо делится значениями с моим классом рендеринга, где находится большая часть моего кода:

SpaceWarz sw = new SpaceWarz();
public void LoadGameSettings(){
    sw.setDeePad(_dPad);    // send value to SpaceWarz class
    _dPad = sw.getDeePad(); // get value from SpaceWarz class
}

НО значения НЕ проходят через мой метод onCreate в другом классе. Данные игры загружаются в методе onCreate и сохраняются в onDestroy, поэтому возникает проблема, если я не могу затем отправить эти данные на:

    SpaceWarz sw = new SpaceWarz(); 
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

// SET SHARED DATA 
            _dPad = true; // debug value to be removed.
            sw.setDeePad(_dPad);
// SET SHARED DATA          
                    }

Есть идеи, как это исправить?

<- чик ->

Вопрос ПЕРВАЯ ЧАСТЬ

Нужна базовая помощь с сеттерами и геттерами. Я пытаюсь переместить данные между классом, содержащим мой метод onCreate, и классом, содержащим мой основной код, для загрузки и сохранения настроек игры, когда мое приложение запускается и останавливается. Я пытался использовать Bundles, но было предложено использовать сеттеры и геттеры было бы проще.

Я создал третий класс под названием SpaceWarz:

package com.clockworkrobot.spacewarz;

public class SpaceWarz {

    private boolean deePad; //access to this is restricted

    public boolean getDeePad()
    {       return this.deePad;     }

    public void setDeePad(boolean value)
    {      this.deePad = value;     }

   }

Правильно ли я устанавливаю это, и может ли кто-нибудь обрисовать в общих чертах, как я устанавливаю и получаю значение из других моих классов, поскольку я не получаю правильный синтаксис, вызывающий сбой: (* ​​1027 *

Спасибо, что заглянули.

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

Трудно понять, что вы пытаетесь сделать.Но геттеры / сеттеры так же просты, как и звучат.Вот небольшой пример того, как это будет работать.

public class MainClass() {

    public static void main(String [] args) {

         SpaceWarz game = new SpaceWarz();
         game.setDeePee(true);

         if (game.getDeePee()) // if true
             game.setDeePee(false); // turn off
    }
}
1 голос
/ 03 сентября 2011

Я не совсем понимаю вопрос, но чтобы использовать те сеттеры и геттеры, которые вы написали, вам нужно будет создать объект SpaceWarz где-то в вашем коде.

SpaceWarz sw = new SpaceWarz();

Затем вы можете вызвать его метод установки или метод получения.

if (sw.getDeePad())
{
   //do something
}

sw.setDeePad(false);
...