Programování v Javě: Jak používat getry a setry ve vaší aplikaci pro Android

Barry A. Burd

Při programování aplikace pro Android pomocí Javy můžete použít getry a settery. V tomto kódu se UseAccount a UseAccountFromOutside třídy mohou nastavit účet customerName a získejte stávající účet customerName:

account.customerName = 'Occam';



String nameBackup = account.customerName;

Ale ani UseAccount třída ani UseAccountFromOutside třída může hrát s účtem internalIdNumber pole.

Co když chcete třídu jako UseAccount mít možnost získat existující účet internalIdNumber ale nezměnit internalIdNumber účtu? (V mnoha situacích je získání informací nutné, ale změna existujících informací je nebezpečná.) To vše můžete udělat pomocí a kariérista metoda.

package com.allyourcode.bank;

public class Account {

public String customerName;

private int internalIdNumber;

String address;

String phone;

public int socialSecurityNumber;

co dělá Microsoft onedrive

int accountType;

double balance;

public static int findById(int internalIdNumber) {

Account foundAccount = new Account();

// Code to find the account goes here.

return foundAccount.internalIdNumber;

}

public int getInternalIdNumber() {

return internalIdNumber;

}

}

Pomocí Account třídy, může volat kód jiné třídy

int backupIdNumber = account.getInternalIdNumber();

The Account třída internalIdNumber pole je stále soukromé, takže kód jiné třídy nemá žádný způsob, jak přiřadit hodnotu účtu internalIdNumber pole. Pokud chcete povolit jiným třídám změnit soukromý účet internalIdNumber value, můžete do kódu přidat metodu setter, například takto:

public void setInternalIdNumber(int internalIdNumber) {

this.internalIdNumber = internalIdNumber;

}

Metody getter a setter nejsou vestavěné funkce v Javě - jsou to prostě běžné metody Java. Ale tento vzor (který má metodu, jejímž účelem je získat přístup k hodnotě jinak nepřístupného pole) se používá tak často, že programátoři používají výrazy kariérista a seřizovač popsat to.

Metody getter a setter jsou přístupové metody. Programátoři Java téměř vždy dodržují konvenci spouštění názvu metody přístupového objektu pomocí get nebo set a potom velká písmena názvu pole, které je přístupné. Například pole internalIdNumber má přístupové objekty s názvem getInternalIdNumber a setInternalIdNumber. Pole renderingValu e má přístupové objekty s názvem getRenderingValue a setRenderingValue.

Než začnete, zadejte tento kód do editoru:

package com.allyourcode.bank;

public class Account {

public String customerName;

private int internalIdNumber;

String address;

String phone;

public int socialSecurityNumber;

int accountType;

double balance;

public static int findById(int internalIdNumber) {

Account foundAccount = new Account();

// Code to find the account goes here.

return foundAccount.internalIdNumber;

je tu formální nebo neformální

}

}

Můžete si nechat Android Studio vytvořit getry a settery pro vás. Zde je postup:

  1. Začněte svým kódem v editoru Android Studio.
  2. Klikněte na kurzor myši kdekoli v editoru.
  3. V hlavní nabídce Android Studio vyberte Code → Generate → Getter and Setter.

    Zobrazí se dialogové okno Vybrat pole pro generování getrů a setrů.
    Alternativně můžete vygenerovat pouze getry výběrem Kód → Generovat → Getter. A vy můžete generovat pouze settery výběrem Code → Generate → Setter.
    Dialogové okno obsahuje seznam polí ve třídě, která se zobrazí v editoru Android Studio.

  4. Vyberte jedno nebo více polí v seznamu polí v dialogovém okně.

    Chcete-li vytvořit výše uvedený kód, vyberete pouze internalIdNumber pole.
    Alternativně můžete vygenerovat pouze getry výběrem kódu

  5. Klikněte na OK.

    Android Studio zavře dialogové okno a do kódu editoru přidá čerstvě připravené metody getru a setteru.

java-programování-pro-android-vývojáře-2e-getry-a-nastavovače

Vyberte pole pro generování getterů a setterů.