Du benutzt Setter / Getter, oder? ..
Warum brauchst du Setter / Getter? ・ Was ist Setter / Getter? ・ Abneigungen gegen Setter / Getter · Warum brauchst Du es ・ Warum es existiert Ich werde in der Reihenfolge von erklären.
Was ist ein Setter / Getter?
.....
Der einzustellende </ b>
Hol es dir </ b>
Diese Ebene des Verständnisses ist in Ordnung w
Beispiel: Legen Sie das Datum von gestern, heute und morgen fest und rufen Sie es ab
Date date = new Date();
private Date yesterdayDate; //Gestern Datum
private Date currentDate; //Heutiges Datum
private Date tomorrowDate; //Das Datum von morgen
//Setter: heutiges Datum
public void setCurrentDate(Date currentDay) {
this.currentDay = currentDay;
}
//Getter: das heutige Datum
public Date getCurrentDate() {
return currentDay;
}
//Unten weggelassen...
//Setter: gestriges Datum
//Getter: das gestrige Datum
//Setter: das Datum von morgen
//Getter: das Datum von morgen
public static void main(String[] args) throws Exception {
//Set heute
calendar.setTime(date);
setCurrentDate(calendar.getTime());
//Set gestern
calendar.add(Calendar.DAY_OF_MONTH, -1);
setYesterdayDate(calendar.getTime());
//Morgen einstellen
calendar.add(Calendar.DAY_OF_MONTH, 1);
setTomorrowDate(calendar.getTime());
//Show gestern
System.out.println("Datum von gestern:" + getYesterdayDate());
//Show heute
System.out.println("Heutiges Datum:" + getCurrentDate());
//Show morgen
System.out.println("Morgen Datum:" + getTomorrowDate());
}
So was.
Es ist setXXXXX, getXXXXX.
Im Beispiel ist die Methode auch privat, da sie durch Festlegen der Variablen in der Klasse aufgerufen wird, aber es gibt kein Problem.
Variablen privat festlegen </ b> Setter und Getter werden öffentlich erstellt </ b>.
1. Das allein fügt Code </ b> hinzu Setter: 3 Zeilen Getter: 3 Zeilen
Ja, das sind nur 6 Zeilen. 6 Zeilen, obwohl ich es nicht vermasseln möchte, wenn möglich ...
2. Problematische Verwaltung </ b> Aus dem gleichen Grund wie 1 ist die Verwaltung des Codes umso umständlicher, je länger er ist. Nur setzen und abrufen, aber zwei Methoden werden hinzugefügt. Das ist es.
3. Die Bewegung erfolgt intern </ b>
setCurrentDate(calendar.getTime());
Diese Methode selbst legt das heutige Datum nicht fest. In der Methode
this.currentDay = currentDay;
Das macht es.
Getter
return currentDay;
Sie können es bekommen, um das Datum zurückzugeben.
Mit anderen Worten, das heutige Datum selbst
Übergeben Sie Variablen mit = </ b> Gibt eine Variable mit return </ b> zurück
Es ist eine Übersetzung in. Dann. ..
Übergeben Sie Variablen mit = </ b> Gibt eine Variable mit return </ b> zurück
Wenn Sie es tun, sollten Sie keinen Setter / Getter brauchen. Alle Daten
//set
this.currentDay = currentDay;
//get
currentDay;
Das sollte in Ordnung sein. .. Warum brauchst du es?
1. Zum Schutz von Variablen </ b>
Es ist public </ b>, das Variablen in private </ b> erstellt und setzt / abruft. Ansonsten können Sie nicht setzen / erhalten </ b>.
・ Einstellung mit = oben verbieten und nur mit Setter einstellen ・ Verbieten Sie die direkte Erfassung und erhalten Sie nur mit Getter Dies begrenzt das Setzen / Abrufen des Wertes der Variablen.
2. Um zu verdeutlichen, wo Sie </ b> einstellen / erhalten
Aus dem gleichen Grund wie 1. Durch die Verwendung von Setter / Getter wird der Ort, an dem Sie einstellen / erhalten, klar. Wenn es an die Stelle fällt, an der Sie es bekommen, wird klar, dass Sie es vorher nicht eingestellt haben.
Die unnötige Theorie des Setzers / Getters kann jedoch regelmäßig angeregt werden oder auch nicht.
Dann. ..
setXXX getXXX
Ohne auf die interne Struktur zu schauen Dies allein weiß, was Sie tun </ b>.
setCurrentDate // Setzt das heutige Datum getYesterdayDate // Das Datum von gestern abrufen setOneMonthAgo // Setzt das Datum vor einem Monat getOneYearDate // Erhalte das Datum ein Jahr später
So was.
Ich habe es bisher geschrieben, aber Ich persönlich denke, dass es einige Teile gibt, die gemäß Konvention existieren </ b>.
Wie auch immer, ich hasse die Zunahme des Codes wirklich. ..
Aber! So etwas wie Kotlin beinhaltet Setter / Getter.
val currentDate :Date; //Heutiges Datum
Ja. Dies ist das Ende w
Nehmen wir an, es hat Setter / Getter als interne Struktur von var. .. Übrigens wird zum Zeitpunkt des Val nur Getter hergestellt.
In letzter Zeit muss ich mir nicht die Mühe machen, Setter / Getter zu schreiben. Danke ~ Danke!
https://qiita.com/katolisa/items/6cfd1a2a87058678d646
http://d.hatena.ne.jp/Nagise/20141010/1412930502
https://qiita.com/SYABU555/items/7cc5909c119ec9ab0288
Recommended Posts