[Leicht verständliche Erklärung! ] Verwendung des Java-Polymorphismus

1. Vorkenntnisse

Nach Vorkenntnissen ist der Inhalt des obigen Links erforderlich.

2. Was ist Polymorphismus?

3. Was ist eine abstrakte Klasse?

4. Grundlegendes Schreiben von Polymorphismus

Testklasse


Paket Paketname;
Name der Hauptklasse der öffentlichen Klasse{
    public static void main(String[] args) {
        //Instanzgenerierung
Name der Unterklasse Variablenname=neuer Unterklassenname();
        //Ausführung der Verarbeitung
Variablennamen.Name der abstrakten Methode(Tatsächliches Argument)
    }
}

Abstrakte Klasse


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

    //Konstruktor (wird beim Instanziieren ausgeführt)
Abstrakter Klassenname(Geben Sie das Argument name ein){
Initialisierungsprozess usw.
    }
    //Abstrakte Methode
abstrakt Name der abstrakten Methode(Geben Sie das Argument name ein);
}

Unterklasse


Paket Paketname;
Der Name der Klassenunterklasse erweitert den Namen der abstrakten Klasse{
    //Definition von Instanzvariablen
privater Typname Variablenname;

    //Konstruktor (wird beim Instanziieren ausgeführt)
Name der Unterklasse(Geben Sie das Argument name ein){
        super(Streit);
Initialisierungsprozess usw.
    }
    //überschreiben(Abstrakte Methode)
    @Override
Name der abstrakten Methode(Geben Sie das Argument name ein){
        //wird bearbeitet
    }
}

5. 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. 01.png Geben Sie "Test1" in das Paket und "Begrüßung" in den Namen ein, aktivieren Sie "Zusammenfassung" und klicken Sie auf die Schaltfläche "Fertig stellen", wie in 6.3 beschrieben. 02.png Geben Sie "Test1" in das Paket, "GoodMorning" in den Namen und "Test1.Greeting" in die Oberklasse ein und klicken Sie auf die Schaltfläche "Fertig" auf die gleiche Weise wie in 8.3. 03.png Geben Sie "Test1" in das Paket, "Hallo" in den Namen und "Test1.Greeting" in die Oberklasse ein und klicken Sie auf die Schaltfläche "Fertig" auf die gleiche Weise wie in 9.3. 04.png Geben Sie "Test1" in das Paket, "GoodEvening" in den Namen und "Test1.Greeting" in die Oberklasse ein und klicken Sie auf die Schaltfläche "Fertig stellen" auf die gleiche Weise wie in 10.3. 05.png
  6. Erfolg, wenn "Test1.java", "Greeting.java", "GoodMorning.java", "Hello.java" und "GoodEvening.java" erstellt werden.

6. Beschreibungsbeispiel

Test1.java


package Test1;
public class Test1 {
    public static void main(String[] args) {
        //Instanzgenerierung
    	Greeting[] greeting = {new GoodMorning("A"),new GoodMorning("B"),new GoodMorning("C")};

    	//Begrüßungsanzeige
    	for(int i = 0;i < greeting.length;i++) {
    		greeting[i].showGreeting();
    	}
    }
}

Greeting.java


package Test1;
public abstract class Greeting {
	//Instanzvariable
	private String name;

	//Konstrukteur
	public Greeting(String name) {
		this.name = name;
	}
	// getter
	public String getName() {
		return name;
	}
	//Anzeige von Grüßen
	abstract void showGreeting();
}

Greeting.java


package Test1;
public class GoodMorning extends Greeting {
	//Konstrukteur
	public GoodMorning(String name) {
		super(name);
	}
	//Anzeige von Grüßen
	@Override
	void showGreeting() {
		System.out.println(getName()+"Guten Morgen Herr.");
	}
}

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

7. Gründe für Polymorphismus

Ein System, in dem sich A, B und C begrüßen

Test1.java


package Test1;
public class Test1 {
    public static void main(String[] args) {
        //Instanzgenerierung
    	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")};

    	//Begrüßungsanzeige
    	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 {
	//Instanzvariable
	String name;

	//Konstrukteur
	public Hello(String name) {
		this.name = name;
	}
	//Anzeige von Grüßen
	void showGreeting() {
		System.out.println(name+"Hallo,.");
	}
}

GoodMorning.java


package Test1;
public class GoodMorning{
	//Instanzvariable
	String name;

	//Konstrukteur
	public GoodMorning(String name) {
		this.name = name;
	}
	//Anzeige von Grüßen
	void showGreeting() {
		System.out.println(name+"Guten Morgen Herr.");
	}
}

GoodEvening.java


package Test1;
public class GoodEvening {
	//Instanzvariable
	String name;

	//Konstrukteur
	public GoodEvening(String name) {
		this.name = name;
	}
	//Anzeige von Grüßen
	void showGreeting() {
		System.out.println(name+"Guten Abend, Herr");
	}
}

--Kopieren Sie den obigen Satz, geben Sie "S-JIS" als Zeichencode an und speichern Sie den Dateinamen als "Test1.java", "GoodMorning.java", "Hello.java", "GoodEvening.java". Wenn es ausgeführt wird, wird es so. ↓ ↓ 06.png

Test1.java


package Test1;
public class Test1 {
    public static void main(String[] args) {
        //Instanzgenerierung
    	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")
    			};

    	//Begrüßungsanzeige
    	for(int i = 0;i < greeting.length;i++) {
    		greeting[i].showGreeting();
    	}
    }
}

Greeting.java


package Test1;
public abstract class Greeting {
	//Instanzvariable
	private String name;

	//Konstrukteur
	public Greeting(String name) {
		this.name = name;
	}
	// getter
	public String getName() {
		return name;
	}
	//Anzeige von Grüßen
	abstract void showGreeting();
}

Hello.java


package Test1;
public class Hello extends Greeting{
	//Konstrukteur
	public Hello(String name) {
		super(name);
	}
	//Anzeige von Grüßen
	@Override
	void showGreeting() {
		System.out.println(getName()+"Hallo,.");
	}
}

GoodMorning.java


package Test1;
public class GoodMorning extends Greeting {
	//Konstrukteur
	public GoodMorning(String name) {
		super(name);
	}
	//Anzeige von Grüßen
	@Override
	void showGreeting() {
		System.out.println(getName()+"Guten Morgen Herr.");
	}
}

GoodEvening.java


package Test1;
public class GoodEvening extends Greeting {
	//Konstrukteur
	public GoodEvening(String name) {
		super(name);
	}
	//Anzeige von Grüßen
	@Override
	void showGreeting() {
		System.out.println(getName()+"Guten Abend, Herr");
	}
}

7. Verwandte

Recommended Posts

[Leicht verständliche Erklärung! ] Verwendung des Java-Polymorphismus
[Leicht verständliche Erklärung! ] Verwendung der Java-Instanz
[Leicht verständliche Erklärung! ] Verwendung von ArrayList [Java]
[Leicht verständliche Erklärung! ] Verwendung von Java-Überladung
[Leicht verständliche Erklärung! ] Verwendung der Java-Kapselung
[Leicht verständliche Erklärung! ] Verwendung der Java-Vererbung [Erklärung überschreiben]
Verwendung von Java Optional
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
Verwendung von Java Map
Verwendung von Java-Variablen
Verwendung von HttpClient (Get) von Java
Verwendung von HttpClient (Post) von Java
[Java] Verwendung der Join-Methode
[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
[Verarbeitung × Java] Verwendung der Schleife
Verwendung und Definition von Java-Klassen, Importieren
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
[Verarbeitung × Java] Verwendung der Klasse
Verwendung der Java Scanner-Klasse (Hinweis)
[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
Wie benutzt man rbenv?
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 Identität benutzt
Wie man Hash benutzt
Verwendung von Dozer.mapper
Wie benutzt man Gradle?
Verwendung von org.immutables