Über Java-Setter und Getter. <Unterschied zur Objektorientierung>

Objektorientierte persönliche Interpretation

Stellen Sie sich eine Klasse als ein Konzept der Dinge in der realen Welt vor und stellen Sie sich Instanziierung als Materialisierung dieses Bildes vor. Und ich denke, dass die Einkapselung ein Mittel ist, um die Existenz der Substanz zu bestätigen. Insbesondere lautet der Code wie folgt.

//Klasse des menschlichen Konzepts
public class Human {
    //Menschen haben drei Eigenschaften: Alter, Geschlecht und Macht
	private int age = 0;
	private String gender = new String();
	private double power = 0.0;

    //Die obigen drei Attribute müssen für die Materialisierung von Menschen festgelegt werden.
    //Es sind nicht Menschen, die diese Eigenschaften nicht haben.
	public Human(int age, String gender, double power) {
		this.age = age;
		this.gender = gender;
		this.power = power;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public double getPower() {
		return power;
	}

	public void setPower(double power) {
		this.power = power;
	}
}

Wenn Sie diese Klasse instanziieren, wird eine Person geboren.

Objektorientiert und Setter

Die Existenz eines Setzers ermöglicht es, einen Teil der geborenen Person zu verändern. Hier stellt sich die Frage. Die Existenz von Menschen sollte den Wert des Attributs in Bezug auf ein Ereignis ändern. Aber warum ist es möglich, einen Attributwert zu ändern? Es fühlt sich an wie eine prozedurale Sprache. Wenn sich beispielsweise das Alter ändert, kann dies auch die Leistung beeinflussen. In diesem Fall sollten Sie eine Methode wie upAge () vorbereiten. Nehmen wir außerdem an, dass Sie dem Attribut den Stoff des Stoffobjekts hinzugefügt haben, vorausgesetzt, Sie sind als Mensch verkleidet. Wenn Sie sich dann anziehen, passieren Sie das "Stoffobjekt" als Setter. Dies wird jedoch nicht als objektorientiert angesehen. Kleidung sollte nur zu "Mensch" gehören. Die Kleidung selbst ist kein Element des Objekts. In solchen Fällen sollten Sie die Klasse erben und eine "moderne menschliche Klasse" erstellen. In vielen Fällen ist der Setter ein nicht übereinstimmender Schreibstil für die Objektorientierung. Zumindest denke ich, dass es besser ist, nicht in die Superklasse einzutreten.

Bedeutung der Existenz des Setzers

Der Setter hat jedoch auch Bedeutung. Es ist eine erforderliche Schreibmethode in JavaBeans. Dank dessen ist es möglich, beim Aufrufen des Anforderungselements mit dem EL-Ausdruck usw. in der JSP-Datei mit hoher Lesbarkeit zu schreiben. Darüber hinaus ist es eine empfohlene Schreibmethode, auch für APIs, die ich nicht kenne.

Wir haben auch gehört, dass es beim Übergang von der C-Sprache benötigt wurde.

Zusammenfassung

Dies ist meine Meinung für ein halbes Jahr nach dem Studium von Java. Ich denke nicht, dass dies immer richtig ist, aber ich persönlich halte es für sinnvoll. Ich wäre dankbar, wenn mich jemand korrigieren könnte. das ist alles.

Recommended Posts

Über Java-Setter und Getter. <Unterschied zur Objektorientierung>
Getter und Setter (Java)
Java-Kapselung und Getter und Setter
Informationen zur Objektorientierung
[Java] Unterschied zwischen "endgültiger Variable" und "unveränderlichem Objekt"
[Java] Unterschied zwischen == und gleich
[Java] Über String und StringBuilder
Java Generics T und? Unterschied
Über Java-Paket und Import
Über Ruby und Objektmodell
Informationen zu statischen und nicht statischen Java-Methoden
[Java] Unterschied zwischen Hashmap und HashTable
[Java-Anfänger] Über Abstraktion und Schnittstelle
[JAVA] Unterschied zwischen Abstract und Interface
[Java] Unterschied zwischen Closeable und AutoCloseable
Dies und das über Base64 (Java)
[Java] Unterschied zwischen StringBuffer und StringBuilder
[Java] Unterschied zwischen Länge, Länge () und Größe ()
Unterschied zwischen final und Immutable in Java
[Über JDBC, das Java und SQL verbindet]
Über den Unterschied zwischen irb und pry
[Java] Unterschied zwischen Intstream-Bereich und rangeClosed
Unterschied zwischen int und Integer in Java
[Java] Verstehe den Unterschied zwischen List und Set
[Rails / Active Record] Über den Unterschied zwischen create und create!
Erfahren Sie mehr über das Docker-Image und das FROM der Docker-Datei
Informationen zu Java-Datentypen (insbesondere primitiven Typen) und Literalen
Unterschied zwischen next () und nextLine () in Java Scanner
Java ab Anfänger, Klassendeklaration / Objekterzeugung
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
[Java] Hinweis zum Unterschied zwischen Äquivalenzbeurteilung und Gleichheitsbeurteilung beim Vergleich von String-Klassen