Video: The Great Gildersleeve: New Neighbors / Letters to Servicemen / Leroy Sells Seeds 2024
När du programmerar din Android-app med Java kan du använda getters och setters. I den här koden kan klasserna
AnvändAccount
och
UseAccountFromOutside
ange ett konto
kundnamn
och få kontoens befintliga
kundnamn
:
konto. customerName = "Occam";
SträngnamnBackup = konto. Köparens namn;
Men varken klassen
UseAccount
eller klassen
UseAccountFromOutside
kan tinker med ett konto
internalIdNumber
.
Vad händer om du vill ha en klass som
Användkonto
för att kunna få ett befintligt konto
internalIdNumber
men inte ändra ett konto
internalIdNumber >? (I många situationer är det nödvändigt att få information, men att ändra befintlig information är farlig.) Du kan göra allt detta med en
getter metod. paket com. allyourcode. Bank;
offentlig klass konto {
privata int internalIdNumber;
Strängadress;
String-telefon;
public int socialSecurityNumber;
int kontoType;
dubbelbalans;
offentliga statiska int findById (int internalIdNumber) {
Konto foundAccount = nytt konto ();
returnera foundAccount. internalIdNumber;
}
public int getInternalIdNumber () {
returnera internalIdNumber;
}
}
Med klassen
Konto
kan en annan klasss kod ringa
int backupIdNumber = konto. getInternalIdNumber ();
Fältet
Konto
klassens
internalIdNumber
är fortfarande privat, så en annan klasss kod har ingen möjlighet att tilldela ett värde till ett konto
internalIdNumber
. Om du vill aktivera andra klasser för att ändra ett eget eget
internalIdNumber
-värde, kan du lägga till en setter-metod i koden, så här:
public void setInternalIdNumber (int internalIdNumber) {
detta. internalIdNumber = internalIdNumber;
}
Getter och setter metoder är inte inbyggda funktioner i Java - de är helt enkelt vanliga Java-metoder. Men det här mönstret (med en metod vars syfte är att få tillgång till ett annat otillgängligt fältvärde) används så ofta att programmerare använder termerna
getter och setter för att beskriva det. Getter och setter metoder är accessor metoder. Java-programmerare följer nästan alltid konventionen om att starta ett accessormetodnamn med
få
eller
set
och sedan aktivera namnet på det fält som ska nås.Fältet
internalIdNumber
har till exempel accessors med namnet
getInternalIdNumber
och
setInternalIdNumber
. Fältet
renderingValu
e har accessors heter
getRenderingValue
och
setRenderingValue
.
Innan du börjar anger du den här koden i redigeraren:
package com. allyourcode. Bank;
offentliga
klasskonto { offentliga
String customerName; privat
int internIdNumber; Strängadress;
String-telefon;
offentlig
int socialSecurityNumber; int kontoType;
dubbelbalans;
public
static int findById (int internalIdNumber) { Konto foundAccount = nytt konto ();
// Kod för att hitta kontot går här.
returnera foundAccount. internalIdNumber;
}
}
Du kan få Android Studio skapa getters och setters för dig. Så här:
Börja med din kod i Android Studio-redigeraren.
- Klicka på muspekaren överallt i redigeraren.
- På huvudmenyn i Android Studio väljer du Kod → Generera → Getter och Setter.
- Dialogrutan Välj fält för att generera Getters och Setters visas.
Alternativt kan du bara generera getters genom att välja Kod → Generera → Getter. Och du kan bara generera setters genom att välja Kod → Generera → Setter.
En dialogruta listar fälten i klassen som visas i Android Studios redigerare.
Välj ett eller flera fält i dialogrutans lista med fält.
- För att skapa koden ovan väljer du bara fältet
internalIdNumber
.
Alternativt kan du bara generera getters genom att välja KodKlicka på OK.
- Android Studio avvisar dialogrutan och lägger till nybryggade getter och setter metoder till redaktörens kod.
Välj fält för att generera Getters och Setters.