Video: Bill Schnoebelen - Interview with an ex Vampire (7 of 9) - Multi - Language 2024
Handhavingsregels zijn moeilijk. Gelukkig voor jou, heeft Java een elegantere oplossing dan veel ouders tegenkomen. U kunt accessor-methoden gebruiken om uw koppige code uw regels te laten volgen.
Hier is een code die de velden verbergt.
openbare klassenaccount {
privéreeksnaam;
privétekenadres;
privé dubbele balans;
public void setName (String n) {
name = n;
}
public String getName () {
retournaam;
}
public void setAddress (String a) {
adres = a;
}
public String getAddress () {
retouradres;
}
openbare ongeldige setBalance (dubbele b) {
balans = b;
}
openbare dubbele getBalance () {
retoursaldo;
}
}
Ga terug en bekijk de methode
setName
snel. Stel je voor dat de toewijzingsinstructie van de methode in een
if
-instructie wordt geplaatst.
public void setName (String n) {
if (! N. Equals ("")) {
name = n;
}
}
Nu, als de programmeur die verantwoordelijk is voor de
UseAccount
-klasse
myAccount schrijft. setName ("")
heeft de aanroep van
setName
geen effect. Omdat het veld naam privé is, is de volgende verklaring bovendien illegaal in de klasse
UseAccount
:
myAccount. name = "";
Natuurlijk, een oproep zoals
mijn account. setName ("Joe Schmoe")
werkt nog steeds omdat
"Joe Schmoe"
niet gelijk is aan de lege tekenreeks
""
.
Dat is gaaf. Met een privéveld en een accessormethode kunt u voorkomen dat iemand de lege tekenreeks toewijst aan het veld
naam
van een account. Met uitgebreidere
if
-instructies, kunt u alle gewenste regels afdwingen.