Vidéo: Les origines de la richesse - Documentaire - DBY #23 2024
L'application des règles est difficile. Heureusement pour vous, Java a une solution plus élégante que celle de nombreux parents. Vous pouvez utiliser des méthodes accesseur pour que votre code têtu suive vos règles.
Voici un code qui cache les champs.
public class Compte {
private Nom de la chaîne;
private Adresse de chaîne;
double solde privé;
public void setName (Chaîne n) {
name = n;
}
public String getName () {
renvoie le nom;
}
public void setAddress (Chaîne a) {
adresse = a;
}
public String getAddress () {
adresse de retour;
}
public void setBalance (double b) {
balance = b;
}
public double getBalance () {
solde de retour;
}
}
Revenez en arrière et jetez un coup d'œil à la méthode
setName
. Imaginez que vous placiez l'instruction d'affectation de la méthode dans une instruction
if
.
public void setName (Chaîne n) {
if (! N est égal à ("")) {
name = n;
}
}
Maintenant, si le programmeur en charge de la classe
UseAccount
écrit
myAccount. setName ("")
, l'appel à
setName
n'a aucun effet. En outre, étant donné que le champ de nom est privé, l'instruction suivante est illégale dans la classe
UseAccount
:
myAccount. name = "";
Bien sûr, un appel tel que
myAccount. setName ("Joe Schmoe")
fonctionne toujours parce que
"Joe Schmoe"
n'est pas égal à la chaîne vide
""
.
C'est cool. Avec un champ privé et une méthode d'accès, vous pouvez empêcher quelqu'un d'attribuer la chaîne vide au champ
name
du compte. Avec des instructions
si
plus élaborées, vous pouvez appliquer les règles que vous voulez.