Video: Synology DiskStation DSM6 Firewall einrichten und HTTPS erzwingen 2024
Die Durchsetzung von Regeln ist schwierig. Glücklicherweise hat Java eine elegantere Lösung als viele Eltern. Sie können Zugriffsmethoden verwenden, um Ihren hartnäckigen Code dazu zu bringen, Ihren Regeln zu folgen.
Hier ist ein Code, der die Felder verdeckt.
public class Konto {
privat Stringname;
private String-Adresse;
private Doppelbilanz;
public void setName (Zeichenkette n) {
name = n;
}
public String getName () {
Rückgabenname;
}
public void setAddress (String a) {
Adresse = a;
}
public String getAddress () {
Rücksprungadresse;
}
public void setBalance (doppelt b) {
balance = b;
}
öffentliches doppeltes getBalance () {
Rückgabeguthaben;
}
}
Gehen Sie zurück und werfen Sie einen kurzen Blick auf die Methode
setName
. Stellen Sie sich vor, die Zuweisungsanweisung der Methode in eine
if
-Anweisung einzufügen.
public void setName (Zeichenkette n) {
if (! N. Ist gleich ("")) {
name = n;
}
}
Wenn der für die
UseAccount
-Klasse zuständige Programmierer
myAccount schreibt. setName ("")
, der Aufruf von
setName
hat keine Wirkung. Darüber hinaus ist die folgende Anweisung in der
UseAccount
-Klasse nicht zulässig, da das Namensfeld privat ist:
myAccount. Name = "";
Natürlich ein Aufruf wie
myAccount. setName ("Joe Schmoe")
funktioniert immer noch, weil
"Joe Schmoe"
nicht mit der leeren Zeichenfolge
""
übereinstimmt.
Das ist cool. Mit einem privaten Feld und einer Zugriffsmethode können Sie verhindern, dass jemand die leere Zeichenfolge dem Feld
name
eines Kontos zuweist. Mit ausgefeilteren
if
-Anweisungen können Sie beliebige Regeln erzwingen.