[Leicht verständliche Erklärung! ] Verwendung der Java-Kapselung

1. Vorkenntnisse

Nach Vorkenntnissen ist der Inhalt des obigen Links erforderlich.

2. Was ist Kapselung?

3. Grundlegendes Schreiben

Testklasse


Paket Paketname;
Name der Hauptklasse der öffentlichen Klasse{
    public static void main(String[] args) {
        //Instanzgenerierung
Klassenname Variablenname=neuer Klassenname();
        //Geben Sie einen Wert in den Setter ein
Variablennamen.Name der Instanzvariablen festlegen(Tatsächliches Argument);
        //Holen Sie sich den von Getter eingegebenen Wert
        System.out.println(Variablennamen.getインスタンスVariablennamen());
    }
}

Kapselungsklasse



Paket Paketname;
Klasse Klassenname{
    //Definition von Instanzvariablen
privater Typname Variablenname;

    //Konstruktor (wird beim Instanziieren ausgeführt)
Name der Klasse(){
Initialisierungsprozess usw.
    }
    // setter
void set Instanzvariablenname(Typname Argumentname){
        this.Variablennamen=Argumentname;
    }
    // getter
Typname Get Instanzvariablenname(){
Variablenname zurückgeben;
    }
}

4. Vorbereitung

01.png

  1. Starten Sie Eclipse und wählen Sie "[Datei (F)] -> [Neu (N)] -> [Java-Projekt]". 02.png
  2. Geben Sie als Projektnamen Test1 ein und klicken Sie auf die Schaltfläche Fertig. 03.png
  3. Wählen Sie "[Datei (F)] → [Neu (N)] → [Klasse]". 05.png
  4. Geben Sie "Test1" für das Paket und den Namen ein und klicken Sie auf die Schaltfläche "Fertig". 06.png
  5. Bestätigen Sie, dass Test1.java erstellt wurde. 07.png Geben Sie "Test1" in das Paket ein, geben Sie "TestCapsule" in den Namen ein und klicken Sie auf die Schaltfläche "Fertig stellen" wie in 6.3. 08.png
  6. Erfolg, wenn "Test1.java" und "TestCapsule.java" erstellt werden.

5. Beschreibungsbeispiel

Test1.java


package Test1;
public class Test1 {
	public static void main(String[] args) {
        //Instanzgenerierung
		TestCapsule tc = new TestCapsule();
        //Geben Sie einen Wert in den Setter ein
        tc.setHello("Guten Morgen");
        //Holen Sie sich den von Getter eingegebenen Wert
        System.out.println(tc.getHello());
    }
}

TestCapsule.java


package Test1;
public class TestCapsule {
	//Definition von Instanzvariablen
    private String hello;

    //Konstruktor (wird beim Instanziieren ausgeführt)
	public TestCapsule() {
		this.hello = "Hello";
	}
    // setter
    public void setHello(String hello) {
		this.hello = hello;
	}
	// getter
    public String getHello() {
		return hello;
	}
}

--Kopieren Sie die obige Anweisung, geben Sie "S-JIS" als Zeichencode an, speichern Sie den Dateinamen als "Test1.java", "TestCapsule.java" und führen Sie ihn aus. ↓ ↓ 09.png

6. Gründe für die Einkapselung

Beispiel: Ein System, das ein Bestehen / Nichtbestehen-Urteil durch Eingabe des Namens des Prüflings und der Punktzahl des Prüflings abgibt

――Der Test mit einer perfekten Punktzahl von 100 Punkten besteht 60 Punkte oder mehr.

Test1.java


//Ein System, das die Namen der Prüflinge und die Ergebnisse der Prüflinge verwaltet
package Test1;
public class Test1 {
	public static void main(String[] args) {
        //Instanzgenerierung
		TestCapsule tc1 = new TestCapsule("A",50);
		TestCapsule tc2 = new TestCapsule("B",60);

		//Unerwartete Variablenänderungen
		tc1.score = 10000;
		tc2.score = -100;

		//Pass / Fail-Anzeige
		tc1.Result();
		tc2.Result();
    }
}

TestCapsule.java


package Test1;
public class TestCapsule {
	//Definition von Instanzvariablen
	String name;
	int score;

	//Konstruktor (wird beim Instanziieren ausgeführt)
	public TestCapsule(String name, int score) {
		this.name = name;
		//Gegenmaßnahmen gegen die Eingabe illegaler Punkte
		if(0 <= score && score <= 100) {
			//0 oder mehr und 100 oder weniger
			this.score = score;
		}else {
			//Weniger als 0 oder mehr als 101
			this.score = 0;
		}
	}
	//Bestanden / Nicht Bestanden-Beurteilungsmethode
	void Result() {
		if(60 <= score) {
			//Bestehen
			System.out.println(name+"Ist"+score+"In Punkten bestanden.");
		}else {
			//Fehler
			System.out.println(name+"Ist"+score+"Es scheitert an Punkten.");
		}
	}
}

--Kopieren Sie die obige Anweisung, überschreiben Sie sie und speichern Sie sie in den zuvor erstellten Test1.java und TestCapsule.java und führen Sie sie aus. ↓ ↓ 10.png

Test1.java


//Ein System, das die Namen der Prüflinge und die Ergebnisse der Prüflinge verwaltet
package Test1;
public class Test1 {
	public static void main(String[] args) {
        //Instanzgenerierung
		TestCapsule tc1 = new TestCapsule("A",50);
		TestCapsule tc2 = new TestCapsule("B",60);

		//Unerwartete Variablenänderungen
		tc1.setScore(10000);
		tc2.setScore(-100);

		//Pass / Fail-Anzeige
		tc1.Result();
		tc2.Result();

    }
}

TestCapsule.java


package Test1;
public class TestCapsule {
	//Definition von Instanzvariablen
	private String name;
	private int score;

	// setter
	public void setName(String name) {
		this.name = name;
	}
	// getter
	public String getName() {
		return name;
	}
	// setter
	public void setScore(int score) {
		//Gegenmaßnahmen gegen die Eingabe illegaler Punkte
		if(0 <= score && score <= 100) {
			//0 oder mehr und 100 oder weniger
			this.score = score;
		}
	}
	// getter
	public int getScore() {
		return score;
	}

	//Konstruktor (wird beim Instanziieren ausgeführt)
	public TestCapsule(String name, int score) {
		this.name = name;
		//Gegenmaßnahmen gegen die Eingabe illegaler Punkte
		if(0 <= score && score <= 100) {
			//0 oder mehr und 100 oder weniger
			this.score = score;
		}else {
			//Weniger als 0 oder mehr als 101
			this.score = 0;
		}
	}
	//Bestanden / Nicht Bestanden-Beurteilungsmethode
	void Result() {
		if(60 <= score) {
			//Bestehen
			System.out.println(name+"Ist"+score+"In Punkten bestanden.");
		}else {
			//Fehler
			System.out.println(name+"Ist"+score+"Es scheitert an Punkten.");
		}
	}
}

--Kopieren Sie die obige Anweisung, überschreiben Sie sie mit den zuvor gespeicherten Test1.java und TestCapsule.java, speichern Sie sie und führen Sie sie aus. ↓ ↓ 11.png

7. Verwandte

Recommended Posts

[Leicht verständliche Erklärung! ] Verwendung der Java-Kapselung
[Leicht verständliche Erklärung! ] Verwendung des Java-Polymorphismus
[Leicht verständliche Erklärung! ] Verwendung von ArrayList [Java]
[Leicht verständliche Erklärung! ] Verwendung von Java-Überladung
[Java] Verwendung von Map
Verwendung von Java Optional
Verwendung der Java-Klasse
Verwendung von Java Map
Verwendung von Java-Variablen
Verwendung von HttpClient (Post) von Java
[Java] Verwendung der Join-Methode
[Verarbeitung × Java] Verwendung von Variablen
[JavaFX] [Java8] Verwendung von GridPane
Verwendung von Klassenmethoden [Java]
[Java] Verwendung von List [ArrayList]
Wie verwende ich Klassen in Java?
[Verarbeitung × Java] Verwendung von Arrays
Verwendung von Java-Lambda-Ausdrücken
[Java] Verwendung der Math-Klasse
Verwendung des Java-Aufzählungstyps
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
[Java] Verwendung der File-Klasse
Verwendung der Submit-Methode (Java Silver)
[Java] Verwendung der toString () -Methode
Studieren der Verwendung des Konstruktors (Java)
[Verarbeitung × Java] Verwendung der Schleife
Verwendung und Definition von Java-Klassen, Importieren
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
[Verarbeitung × Java] Verwendung der Klasse
[Verarbeitung × Java] Verwendung der Funktion
[Java] Verwendung der Calendar-Klasse
[Java] Erfahren Sie, wie Sie Optional richtig verwenden
try-catch-finally Ausnahmebehandlung Verwendung von Java
Verwendung von Map
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
Verwendung von MapStruct
Verwendung von TreeSet
[Verwendung des Etiketts]
Wie man Hash benutzt
Verwendung von org.immutables
Verwendung von java.util.stream.Collector
Verwendung von VisualVM
[Java] Verwendung der FileReader-Klasse und der BufferedReader-Klasse
Verwendung des Java-Frameworks mit AWS Lambda! ??
Verwendung der Java-API mit Lambda-Ausdrücken
Verwendung der replace () -Methode (Java Silver)
Verwendung des LOG Java Producer von Alibaba Cloud
[Java] Verwendung der Kalenderklasse und der Datumsklasse