[Explication facile à comprendre! ] Comment utiliser l'encapsulation Java

1. Connaissances préalables

En tant que connaissance préalable, le contenu du lien ci-dessus est requis.

2. Qu'est-ce que l'encapsulation?

--ʻEncapsulation` consiste à définir les attributs d'un objet et les opérations associées ensemble dans la même classe.

3. Écriture de base

Classe d'essai


package Nom du package;
nom de la classe principale de la classe publique{
    public static void main(String[] args) {
        //Génération d'instance
Nom de la classe Nom de la variable=nouveau nom de classe();
        //Mettre une valeur dans setter
Nom de variable.définir le nom de la variable d'instance(Argument réel);
        //Obtenez la valeur saisie par getter
        System.out.println(Nom de variable.getインスタンスNom de variable());
    }
}

Classe d'encapsulation



package Nom du package;
nom de classe de classe{
    //Définition des variables d'instance
nom de type privé nom de variable;

    //Constructeur (exécuté lors de l'instanciation)
nom de la classe(){
Processus d'initialisation, etc.
    }
    // setter
nom de la variable d'instance void set(Nom du type Nom de l'argument){
        this.Nom de variable=Nom de l'argument;
    }
    // getter
Nom du type obtenir le nom de la variable d'instance(){
retourne le nom de la variable;
    }
}

4. Préparation

01.png

  1. Démarrez Eclipse et sélectionnez [Fichier (F)] -> [Nouveau (N)] -> [Projet Java]. 02.png
  2. Entrez «Test1» pour le nom du projet et cliquez sur le bouton «Terminé». 03.png
  3. Sélectionnez «[Fichier (F)] → [Nouveau (N)] → [Classe]». 05.png
  4. Entrez «Test1» pour le package et le nom et cliquez sur le bouton «Terminé». 06.png
  5. Confirmez que «Test1.java» a été créé. 07.png Entrez «Test1» dans le paquet, entrez «TestCapsule» dans le nom, et cliquez sur le bouton «Terminer» de la même manière qu'en 6.3. 08.png
  6. Succès si «Test1.java» et «TestCapsule.java» sont créés.

5. Exemple de description

Test1.java


package Test1;
public class Test1 {
	public static void main(String[] args) {
        //Génération d'instance
		TestCapsule tc = new TestCapsule();
        //Mettre une valeur dans setter
        tc.setHello("Bonjour");
        //Obtenez la valeur saisie par getter
        System.out.println(tc.getHello());
    }
}

TestCapsule.java


package Test1;
public class TestCapsule {
	//Définition des variables d'instance
    private String hello;

    //Constructeur (exécuté lors de l'instanciation)
	public TestCapsule() {
		this.hello = "Hello";
	}
    // setter
    public void setHello(String hello) {
		this.hello = hello;
	}
	// getter
    public String getHello() {
		return hello;
	}
}

6. Raisons de l'encapsulation

Exemple: Un système qui rend un jugement bon / mauvais en saisissant le nom du candidat et le score du candidat

―― Un test avec un maximum de 100 points réussit 60 points ou plus.

Test1.java


//Un système qui gère les noms des candidats et les scores des candidats
package Test1;
public class Test1 {
	public static void main(String[] args) {
        //Génération d'instance
		TestCapsule tc1 = new TestCapsule("A",50);
		TestCapsule tc2 = new TestCapsule("B",60);

		//Changements de variable inattendus
		tc1.score = 10000;
		tc2.score = -100;

		//Affichage réussite / échec
		tc1.Result();
		tc2.Result();
    }
}

TestCapsule.java


package Test1;
public class TestCapsule {
	//Définition des variables d'instance
	String name;
	int score;

	//Constructeur (exécuté lors de l'instanciation)
	public TestCapsule(String name, int score) {
		this.name = name;
		//Contre-mesures contre l'entrée de points illégaux
		if(0 <= score && score <= 100) {
			//0 ou plus et 100 ou moins
			this.score = score;
		}else {
			//Moins de 0 ou plus de 101
			this.score = 0;
		}
	}
	//Méthode de jugement réussite / échec
	void Result() {
		if(60 <= score) {
			//Passer
			System.out.println(name+"Est"+score+"Passé en termes de points.");
		}else {
			//échec
			System.out.println(name+"Est"+score+"Il échoue en termes de points.");
		}
	}
}

--Dans l'exemple ci-dessus, puisque le test est un score parfait de 100 points, ni «10000 points» ni «-100 points» n'existent. --ʻEncapsulation a pour rôle d'empêcher la manipulation non autorisée des données en créant une situation où la fonction est transmise une fois sans manipuler directement les données. --Si vous ʻencapsulez``TestCapsule.java` dans l'exemple ci-dessus, ce sera comme suit.

Test1.java


//Un système qui gère les noms des candidats et les scores des candidats
package Test1;
public class Test1 {
	public static void main(String[] args) {
        //Génération d'instance
		TestCapsule tc1 = new TestCapsule("A",50);
		TestCapsule tc2 = new TestCapsule("B",60);

		//Changements de variable inattendus
		tc1.setScore(10000);
		tc2.setScore(-100);

		//Affichage réussite / échec
		tc1.Result();
		tc2.Result();

    }
}

TestCapsule.java


package Test1;
public class TestCapsule {
	//Définition des variables d'instance
	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) {
		//Contre-mesures contre l'entrée de points illégaux
		if(0 <= score && score <= 100) {
			//0 ou plus et 100 ou moins
			this.score = score;
		}
	}
	// getter
	public int getScore() {
		return score;
	}

	//Constructeur (exécuté lors de l'instanciation)
	public TestCapsule(String name, int score) {
		this.name = name;
		//Contre-mesures contre l'entrée de points illégaux
		if(0 <= score && score <= 100) {
			//0 ou plus et 100 ou moins
			this.score = score;
		}else {
			//Moins de 0 ou plus de 101
			this.score = 0;
		}
	}
	//Méthode de jugement réussite / échec
	void Result() {
		if(60 <= score) {
			//Passer
			System.out.println(name+"Est"+score+"Passé en termes de points.");
		}else {
			//échec
			System.out.println(name+"Est"+score+"Il échoue en termes de points.");
		}
	}
}

--Copiez l'instruction ci-dessus, écrasez-la avec le Test1.java et le TestCapsule.java enregistrés précédemment, enregistrez-le et exécutez-le. ↓ ↓ 11.png

7. Connexes

Recommended Posts

[Explication facile à comprendre! ] Comment utiliser l'encapsulation Java
[Explication facile à comprendre! ] Comment utiliser le polymorphisme Java
[Explication facile à comprendre! ] Comment utiliser ArrayList [Java]
[Explication facile à comprendre! ] Comment utiliser la surcharge Java
[Java] Comment utiliser Map
Comment utiliser java Facultatif
Comment utiliser la classe Java
Comment utiliser Java Map
Comment utiliser les variables Java
Comment utiliser HttpClient de Java (Post)
[Java] Comment utiliser la méthode de jointure
[Traitement × Java] Comment utiliser les variables
[JavaFX] [Java8] Comment utiliser GridPane
Comment utiliser les méthodes de classe [Java]
[Java] Comment utiliser List [ArrayList]
Comment utiliser les classes en Java?
[Traitement × Java] Comment utiliser les tableaux
Comment utiliser les expressions Java lambda
[Java] Comment utiliser la classe Math
Comment utiliser le type enum Java
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
[Java] Comment utiliser la classe File
Comment utiliser la méthode de soumission (Java Silver)
[Java] Comment utiliser la méthode toString ()
Etudier comment utiliser le constructeur (java)
[Traitement × Java] Comment utiliser la boucle
Comment utiliser et définir les classes Java, importer
[Java] [Maven3] Résumé de l'utilisation de Maven3
[Traitement × Java] Comment utiliser la classe
[Traitement × Java] Comment utiliser la fonction
[Java] Comment utiliser la classe Calendar
[Java] Découvrez comment utiliser correctement Optional
gestion des exceptions try-catch-finally Comment utiliser java
Comment utiliser Map
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment utiliser MapStruct
Comment utiliser TreeSet
[Comment utiliser l'étiquette]
Comment utiliser le hachage
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
Comment utiliser le framework Java avec AWS Lambda! ??
Comment utiliser l'API Java avec des expressions lambda
Comment utiliser la méthode replace () (Java Silver)
Comment utiliser LOG Java Producer d'Alibaba Cloud
[Java] Comment utiliser la classe Calendar et la classe Date