Vidéo: [#3 Java Arabe Darija] Créer votre première application java et explication de la méthode main 2024
Lors de la programmation de votre application Android avec Java, vous pouvez utiliser des getters et setters. Dans ce code, les classes
UseAccount
et
UseAccountFromOutside
peuvent définir
customerName
et obtenir le compte
customerName
:
existant du compte. customerName = "Occam";
Chaîne nameBackup = compte. customerName;
Mais ni la classe
UseAccount
ni la classe
UseAccountFromOutside
ne peuvent modifier le champ
internalIdNumber
du compte.
Que faire si vous voulez qu'une classe comme
UseAccount
soit capable d'obtenir le
internalIdNumber
d'un compte existant mais pas de changer le
internalIdNumber d'un compte >? (Dans de nombreuses situations, l'obtention d'informations est nécessaire, mais la modification des informations existantes est dangereuse.) Vous pouvez tout faire avec une méthode
getter. package com. allyourcode. banque;
public class Compte {
private int internalIdNumber;
Adresse de chaîne;
Téléphone à cordes;
public int socialSecurityNumber;
int accountType;
double balance;
public static int findById (int internalIdNumber) {
Compte foundAccount = new Compte ();
return foundAccount. internalIdNumber;
}
public int getInternalIdNumber () {
return internalIdNumber;
}
}
Avec la classe
Account
, le code d'une autre classe peut appeler
int backupIdNumber = account. getInternalIdNumber ();
Le champ
internalIdNumber
de la classe
est toujours privé. Le code d'une autre classe n'a donc aucun moyen d'attribuer une valeur au champ
internalIdNumber
du compte. Si vous souhaitez permettre à d'autres classes de modifier la valeur privée
internalIdNumber
d'un compte, vous pouvez ajouter une méthode setter au code, comme ceci:
public void setInternalIdNumber (int internalIdNumber) {
this. internalIdNumber = internalIdNumber;
}
Les méthodes getter et setter ne sont pas des fonctions intégrées dans Java - ce sont simplement des méthodes Java ordinaires. Mais ce modèle (ayant une méthode dont le but est d'accéder à une valeur de champ autrement inaccessible) est si souvent utilisé que les programmeurs utilisent les termes
getter et setter pour le décrire. Les méthodes getter et setter sont des méthodes accesseurs. Les programmeurs Java suivent presque toujours la convention qui consiste à lancer un nom de méthode d'accesseur avec
get
ou
set
, puis en capitalisant le nom du champ auquel on accède.Par exemple, le champ
internalIdNumber
a des accesseurs nommés
getInternalIdNumber
et
setInternalIdNumber
. Le champ
renderingValu
e a des accesseurs nommés
getRenderingValue
et
setRenderingValue
.
Avant de commencer, entrez ce code dans l'éditeur:
package com. allyourcode. banque;
public
class Account { public
Chaîne customerName; private
int internalIdNumber; Adresse de chaîne;
Téléphone à cordes;
public
int socialSecurityNumber; int accountType;
double balance;
public
statique int findById (int internalIdNumber) { Compte foundAccount = new Compte ();
// Code pour trouver le compte va ici.
return foundAccount. internalIdNumber;
}
}
Vous pouvez configurer Android Studio pour créer des getters et setters pour vous. Voici comment:
Commencez avec votre code dans l'éditeur Android Studio.
- Cliquez avec le curseur de la souris n'importe où dans l'éditeur.
- Dans le menu principal d'Android Studio, sélectionnez Code → Générer → Getter et Setter.
- La boîte de dialogue Sélectionner les champs pour générer des Getters et des Setters apparaît.
Vous pouvez également générer uniquement des getters en sélectionnant Code → Générer → Getter. Et vous ne pouvez générer que des setters en sélectionnant Code → Générer → Setter.
Une boîte de dialogue répertorie les champs de la classe qui apparaissent dans l'éditeur d'Android Studio.
Sélectionnez un ou plusieurs champs dans la liste des champs de la boîte de dialogue.
- Pour créer le code ci-dessus, sélectionnez uniquement le champ
internalIdNumber
.
Vous pouvez également générer uniquement des getters en sélectionnant CodeCliquez sur OK.
- Android Studio supprime la boîte de dialogue et ajoute des méthodes getter et setter fraîchement préparées au code de l'éditeur.
Sélectionnez les champs pour générer des getters et des setters.