[Explication facile à comprendre! ] Comment utiliser le polymorphisme Java

1. Connaissances préalables

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

2. Qu'est-ce que le polymorphisme?

3. Qu'est-ce qu'une classe abstraite?

--Une «classe abstraite» est une classe créée en supposant qu'elle sera héritée.

4. Écriture de base du polymorphisme

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 sous-classe Nom de la variable=nouveau nom de sous-classe();
        //Exécution du traitement
Nom de variable.Nom de la méthode abstraite(Argument réel)
    }
}

Classe abstraite


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

    //Constructeur (exécuté lors de l'instanciation)
Nom de la classe abstraite(Argument de nom de type){
Processus d'initialisation, etc.
    }
    //Méthode abstraite
nom de la méthode abstraite abstraite(Argument de nom de type);
}

Sous-classe


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

    //Constructeur (exécuté lors de l'instanciation)
Nom de la sous-classe(Argument de nom de type){
        super(argument);
Processus d'initialisation, etc.
    }
    //passer outre(Méthode abstraite)
    @Override
Nom de la méthode abstraite(Argument de nom de type){
        //En traitement
    }
}

5. 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éé. 01.png Entrez Test1 dans le paquet et Greeting dans le nom, cochez ʻabstract, et cliquez sur le bouton Terminer` dans la même procédure qu'en 6.3. 02.png Entrez «Test1» dans le paquet, «GoodMorning» dans le nom et «Test1.Greeting» dans la superclasse, puis cliquez sur le bouton «Terminer» dans la même procédure qu'en 8.3. 03.png Entrez «Test1» dans le package, «Hello» dans le nom et «Test1.Greeting» dans la superclasse, et cliquez sur le bouton «Terminé» dans la même procédure qu'en 9.3. 04.png Entrez «Test1» dans le paquet, «GoodEvening» dans le nom et «Test1.Greeting» dans la superclasse, et cliquez sur le bouton «Terminer» dans la même procédure qu'en 10.3. 05.png
  6. Succès si Test1.java, Greeting.java, GoodMorning.java, Hello.java et GoodEvening.java sont créés.

6. Exemple de description

Test1.java


package Test1;
public class Test1 {
    public static void main(String[] args) {
        //Génération d'instance
    	Greeting[] greeting = {new GoodMorning("A"),new GoodMorning("B"),new GoodMorning("C")};

    	//Affichage du message d'accueil
    	for(int i = 0;i < greeting.length;i++) {
    		greeting[i].showGreeting();
    	}
    }
}

Greeting.java


package Test1;
public abstract class Greeting {
	//Variable d'instance
	private String name;

	//constructeur
	public Greeting(String name) {
		this.name = name;
	}
	// getter
	public String getName() {
		return name;
	}
	//Affichage des salutations
	abstract void showGreeting();
}

Greeting.java


package Test1;
public class GoodMorning extends Greeting {
	//constructeur
	public GoodMorning(String name) {
		super(name);
	}
	//Affichage des salutations
	@Override
	void showGreeting() {
		System.out.println(getName()+"Bonjour Monsieur.");
	}
}

7. Raisons du polymorphisme

Un système dans lequel A, B et C se saluent

--A, B, C saluent dans l'ordre.

Test1.java


package Test1;
public class Test1 {
    public static void main(String[] args) {
        //Génération d'instance
    	GoodMorning[] goodmorning = {new GoodMorning("A"),new GoodMorning("B"),new GoodMorning("C")};
    	Hello[] hello = {new Hello("A"),new Hello("B"),new Hello("C")};
    	GoodEvening[] goodevening = {new GoodEvening("A"),new GoodEvening("B"),new GoodEvening("C")};

    	//Affichage du message d'accueil
    	for(int i = 0;i < goodmorning.length;i++) {
    		goodmorning[i].showGreeting();
    	}
    	for(int i = 0;i < hello.length;i++) {
    		hello[i].showGreeting();
    	}
    	for(int i = 0;i < goodevening.length;i++) {
    		goodevening[i].showGreeting();
    	}
    }
}

Hello.java


package Test1;
public class Hello {
	//Variable d'instance
	String name;

	//constructeur
	public Hello(String name) {
		this.name = name;
	}
	//Affichage des salutations
	void showGreeting() {
		System.out.println(name+"Hey,.");
	}
}

GoodMorning.java


package Test1;
public class GoodMorning{
	//Variable d'instance
	String name;

	//constructeur
	public GoodMorning(String name) {
		this.name = name;
	}
	//Affichage des salutations
	void showGreeting() {
		System.out.println(name+"Bonjour Monsieur.");
	}
}

GoodEvening.java


package Test1;
public class GoodEvening {
	//Variable d'instance
	String name;

	//constructeur
	public GoodEvening(String name) {
		this.name = name;
	}
	//Affichage des salutations
	void showGreeting() {
		System.out.println(name+"Bonsoir M.");
	}
}

--Copiez la phrase ci-dessus, spécifiez S-JIS comme code de caractère et enregistrez le nom du fichier sous Test1.java, GoodMorning.java, Hello.java, GoodEvening.java. , Une fois exécuté, il devient comme ça. ↓ ↓ 06.png

Test1.java


package Test1;
public class Test1 {
    public static void main(String[] args) {
        //Génération d'instance
    	Greeting[] greeting = {
    			new GoodMorning("A"),new GoodMorning("B"),new GoodMorning("C"),
    			new Hello("A"),new Hello("B"),new Hello("C"),
    			new GoodEvening("A"),new GoodEvening("B"),new GoodEvening("C")
    			};

    	//Affichage du message d'accueil
    	for(int i = 0;i < greeting.length;i++) {
    		greeting[i].showGreeting();
    	}
    }
}

Greeting.java


package Test1;
public abstract class Greeting {
	//Variable d'instance
	private String name;

	//constructeur
	public Greeting(String name) {
		this.name = name;
	}
	// getter
	public String getName() {
		return name;
	}
	//Affichage des salutations
	abstract void showGreeting();
}

Hello.java


package Test1;
public class Hello extends Greeting{
	//constructeur
	public Hello(String name) {
		super(name);
	}
	//Affichage des salutations
	@Override
	void showGreeting() {
		System.out.println(getName()+"Hey,.");
	}
}

GoodMorning.java


package Test1;
public class GoodMorning extends Greeting {
	//constructeur
	public GoodMorning(String name) {
		super(name);
	}
	//Affichage des salutations
	@Override
	void showGreeting() {
		System.out.println(getName()+"Bonjour Monsieur.");
	}
}

GoodEvening.java


package Test1;
public class GoodEvening extends Greeting {
	//constructeur
	public GoodEvening(String name) {
		super(name);
	}
	//Affichage des salutations
	@Override
	void showGreeting() {
		System.out.println(getName()+"Bonsoir M.");
	}
}

7. Connexes

Recommended Posts

[Explication facile à comprendre! ] Comment utiliser le polymorphisme Java
[Explication facile à comprendre! ] Comment utiliser l'instance Java
[Explication facile à comprendre! ] Comment utiliser ArrayList [Java]
[Explication facile à comprendre! ] Comment utiliser la surcharge Java
[Explication facile à comprendre! ] Comment utiliser l'encapsulation Java
[Explication facile à comprendre! ] Comment utiliser l'héritage Java [Explication de remplacement]
Comment utiliser java Facultatif
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
Comment utiliser Java Map
Comment utiliser les variables Java
Comment utiliser HttpClient de Java (Get)
Comment utiliser HttpClient de Java (Post)
[Java] Comment utiliser la méthode de jointure
[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 ()
[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
Comment utiliser la classe Java Scanner (Remarque)
[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 rbenv
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 l'identité
Comment utiliser le hachage
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables