Mutatormethode in Java

Mutatormethode in Java
Im englischen Wörterbuch bedeutet es, eine neue Form zu haben, um zu mutieren. Und so bedeutet ein Mutator, obwohl es nicht im englischen Wörterbuch gefunden wurde, etwas, das eine Veränderung in eine neue Form verursacht. Eine private Variable ist ein Feld oder eine Eigenschaft einer Klasse in Java. In Java gibt es keine vordefinierte Methode namens Mutator. Stattdessen ist ein Mutator eine Methode in einer Klasse, und diese Methode soll den Wert einer privaten Variablen der Klasse ändern. Nach Konvention sollte der Programmierer den Methodennamen mit "SET" beginnen. Die Methode kann also so etwas wie setage (), setPrice (), setName () usw. sein.

Unterschied zwischen privater und öffentlicher Variable

Eine private Variable ist nur von Mitgliedern (Eigenschaften und Methoden) in der Klassendefinition zu sehen. Es kann nicht durch Code außerhalb der Klassendefinition ersichtlich sein. Andererseits kann eine öffentliche Variable durch Code außerhalb der Klassendefinition erkennen. Code außerhalb der Klasse kann einfach die öffentliche Variable einer Klasse ändern, indem ein neuer Wert unter Verwendung des Klassennamens zugewiesen wird, wenn die Methode statisch ist oder den Objektnamen verwendet, wenn die Methode nicht statisch ist. Mit einer öffentlichen Variablen ist das Gefühl der Mutation nicht wirklich da. Wenn eine Klasse jedoch ihren eigenen Wert ändert, der von außen nicht geändert werden kann, wird dies als Transformation bezeichnet - was ein besseres Gefühl der Mutation hat.

Mutator -Illustration

Nicht jede Klasse braucht einen Mutator. Wenn jedoch ein Mutator für eine private Variable (Eigenschaft) benötigt wird, sollte die Mutatormethode, die ein Mitglied der Klasse ist, mit "Set" beginnen. Der Programmierer definiert dann die Mutatormethode.

Jedes Objekt in einem Geschäft kann von einer Klasse definiert werden. Ein guter Tasse in einem Geschäft zum Beispiel kann von einer Klasse definiert werden. Mindestens hätte die Klasse eine Eigenschaft, die den Preis des Bechers, eine Mutatormethode und eine Accessor -Methode ist. Die Accessor -Methode ist eine Methode, um den Wert der Eigenschaft zu lesen. Nach Konvention sollte die Accessor -Methode mit "GET" beginnen. In diesem Fall wäre es Getprice (). Lassen Sie die Immobilie mit dem Namenspreis privat sein. Wenn der Preis öffentlich ist, besteht keine Notwendigkeit für Mutator und Accessor, da der Wert eingestellt oder öffentlich (gelesen) wird.

Die folgende Klassendefinition gilt für eine Tasse (eine zusätzliche Eigenschaft (Feld) für Währung wird hinzugefügt):

Klassenbecher
privater Doppelpreis = 2.0;
private Charakterwährung = '$';
public void setprice (double dbl)
Preis = dbl;

public double getPrice ()
Rückgabepreis;

Der Mutator SetPrice () ist öffentlich, damit er mit Code außerhalb der Klasse zugegriffen werden kann. Das öffentliche Mutator zu machen bedeutet nicht, das entsprechende Eigentum öffentlich zu machen. Das entsprechende Eigentum muss privat sein. Der Mutator hier hat das Argument DBL, was der neue Preis ist. Wenn sich die Marktbedingungen ändern, ändert sich auch der Preis im Geschäft. Wenn der Preis öffentlich wäre, wäre es nicht erforderlich, dass der Mutator SetPrice () () nicht möglich wäre, dass Code außerhalb der Klasse den Preis ändern kann. Da SetPrice Mitglied der Klasse ist, kann der Wert des Privateigentumspreises angezeigt werden. Der Code außerhalb der Klasse kann die Eigenschaft jedoch nicht sehen. Dies ist nach Design.

Der Accsessor getPrice () ist öffentlich, damit er mit Code außerhalb der Klasse zugegriffen werden kann. Es hat kein Argument. Wenn der Preis öffentlich wäre, wäre es für den Accessor GetPrice () nicht erforderlich, da Code außerhalb der Klasse den Preis lesen kann. Da GetPrice Mitglied der Klasse ist, kann der Wert des Privateigentumspreises angezeigt werden. Der Code außerhalb der Klasse kann die Eigenschaft jedoch nicht sehen. Dies ist nach Design.

Ein Mutator -SetCurrency () und ein Accessor getCurrency () können in ähnlicher Weise für die private variable Währung geschrieben werden.

Die folgende Hauptklasse und die Hauptmethode greifen auf den privaten Variablenpreis zu, mutieren die Variable und greifen dann erneut auf die Variable zu. All dies nach der Instanziation der Klasse:

öffentliche Klasse Theclass
public static void main (String [] args)
Cup Cup1 = neuer Cup ();
Double FirstPrice = Cup1.getPrice ();
System.aus.print (FirstPrice); System.aus.drucken(", ");
Cup1.setprice (3.0);
Double SecondPrice = Cup1.getPrice ();
System.aus.print (SecondPrice);
System.aus.println ();

Die Ausgabe ist:

2.0, 3.0

Das erste Codesegment in der Hauptmethode instanziiert das Cup -Objekt (Cup1) und greift über den Accessor GetPrice () und Cup1 auf den Privateigentum zu. Anschließend wird dieser erste Preis mit einem Komma und Raum ausgegeben.

Das zweite Codesegment ist ein Ein -Zeilen -Code -Segment. Es mutiert den privaten Immobilienpreis über den Mutator SetPrice () und Cup1. Das dritte Codesegment liest und druckt den neuen Preis aus und druckt.

Validierung

Der Benutzer des Programms soll den neuen Preis als Doppel festlegen. Aber was ist, wenn er einen anderen Datentyp eingibt? Der neue Preis sollte validiert werden, wenn es wirklich ein Doppel ist. Der Zeilencode für diesen Fall sollte so angezeigt werden:

boolean BL = DBL Instance von Double;

Der Betreiber, Instanz von Rendits True, wenn sein linker Operand eine Instanz des rechten Operanden ist. ansonsten falsch.

Bei der Validierung sollte die Definition der Mutatormethode sein:

public void setprice (double dbl)
if (dblinstanz doppelt)
Preis = dbl;
anders
System.aus.println ("neuer Preis konnte nicht festgelegt werden!");

Das heißt, wenn der Eingang DBL vom Typ Double ist, wird der Preis geändert. Wenn dies nicht der Fall ist, wird eine Fehlermeldung ausgegeben, und das Programm wird fortgesetzt. Beachten Sie, dass 'D' für das Doppel in diesem Codesegment 'D' und nicht 'D' ist.

Ein ähnlicher Code, um zu überprüfen, ob die Währung ein Zeichen ist, kann wie folgt geschrieben werden:

public void setCurrency (Zeichen ch)
if (chinstanz des Charakters)
Währung = '€';
anders
System.aus.println ("Neue Währung ist kein Charakter!");

Das heißt, wenn die Eingabe -CH vom Typ Charakter ist, wird die Währung von $ zu "€" geändert. Wenn dies nicht der Fall ist, wird eine Fehlermeldung ausgegeben, und das Programm wird fortgesetzt. Beachten Sie, dass 'C' für Zeichen in diesem Codesegment 'C und nicht' C 'ist.

Abschluss

Es gibt keine vordefinierte Methode als Mutator in Java. Ein Mutator wird vom Programmierer codiert. Ein Mutator ist nur eine codierte (öffentliche) Methode, die den privaten Wert eines Feldes (Eigenschaft) einer Klasse ändert. Auf der anderen Seite ist ein Accessor nur eine codierte (öffentliche) Methode, die den privaten Wert eines Feldes (Eigenschaft) einer Klasse vorliest.

Vielen Dank, dass Sie unseren Artikel gelesen haben. Hinterlassen Sie einen Kommentar zu Ihren Gedanken und lesen Sie andere Artikel unter LinuxHint durch.com so passen das am besten zu den Ideen, die Sie suchen.