[JAVA] C # (Polymorphismus: Polymorphismus)

Ausgabe basierend auf C # Basic Java in der Vergangenheit

Polymorphismus: Polymorphismus

Eine der praktischen Funktionen der Klasse besteht darin, dass Sie eine Instanz der abgeleiteten Klasse in die Variable der Basisklasse einfügen können.

Ergänzung 1

Ich habe gehört, dass es eine Entwicklungsgruppe gibt, die nur das Finale angehängt hat und dass MicroSoft es geschafft hat.

namespace ShootingGame
{
    class Enemy
    {
        public int hp;
        public virtual void Move() // public abstract void Move()
        {
        }
    }
}

Ergänzung 2

Abstract, das auch in Java verfügbar ist, ist (nicht implementierte Klasse), daher kann kein neues erstellt werden. Es ist wichtig, "den Inhalt am geerbten Ziel zu überschreiben und zu schreiben"!

Ich bin der Meinung, dass der Zugriff von überall möglich ist, da viele Vorzüge vererbt werden können.

Beyogen auf

Enemy.cs

namespace ShootingGame
{
    class UFO:Enemy
    {
        public override void Move()
        {
            Console.WriteLine("Bewegen Sie sich im Zickzack");

        }
    }
}

Meteor.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShootingGame
{
    class Meteor:Enemy  //Erstellen Sie eine Meteor-Klasse, indem Sie die Enemy-Klasse erben
    {
        //Überschreiben Sie die Move-Methode der Enemy-Klasse
        public override void Move()
        {
            Console.WriteLine("Bewegen Sie sich gerade");
        }
    }
}

Star.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShootingGame
{
    class Star:Enemy
    {
        public override void Move()
        {
            Console.WriteLine("Bewegen Sie sich beim Drehen");

        }
    }
}

UFO.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShootingGame
{
    class UFO:Enemy
    {
        public override void Move()
        {
            Console.WriteLine("Bewegen Sie sich im Zickzack");

        }
    }
}

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShootingGame
{
    class Program
    {
        static void Main(string[] args)
        {
            UFO ufo;
            Star[] stars = new Star[2];
            Meteor[] meteors = new Meteor[2];

            //Erstellen Sie eine Instanz
            ufo = new UFO();
            stars[0] = new Star();
            stars[1] = new Star();
            meteors[0] = new Meteor();
            meteors[1] = new Meteor();

            //Bewege den Feind
            ufo.Move();
            for (int i = 0; i < stars.Length; i++)
            {
                stars[i].Move();
            }
            for (int i = 0; i < meteors.Length; i++)
            {
                meteors[i].Move();
            }
        }
    }
}

Erkennen Sie nützliche Funktionen wie

Recommended Posts

C # (Polymorphismus: Polymorphismus)
Ich habe versucht, C # (Indexer) zu kauen.
C # (Grund der Kapselung)
Ich habe versucht, C # zu kauen (Dateien lesen und schreiben)
Ich habe versucht, die Unterstützung für iOS 14 zusammenzufassen
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, die Methode zu erklären
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe versucht, Active Hash zu erklären
Ich habe versucht, die verwendeten Methoden zusammenzufassen
Ich habe versucht, Processing auf VS Code zu migrieren
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
Ich habe versucht, mit Web Assembly zu beginnen
Ich habe versucht, AOJs binäre Suche zu lösen
Ich habe versucht, das Iterator-Muster zu implementieren
Ich habe versucht, die Stream-API zusammenzufassen
Ich habe versucht, AdoptOpenjdk 11 unter CentOS 7 zu erstellen
Was ist Docker? Ich habe versucht zusammenzufassen
Ich habe versucht, Selen wie JQuery zu verwenden
Ich habe versucht, JavaScript Part.2 Objektorientiert zu berühren
Ich habe es mit Spring versucht.
Ich habe versucht, Tomcat zu setzen
Ich habe youtubeDataApi ausprobiert.
Ich habe versucht, ① umzugestalten
Ich habe FizzBuzz ausprobiert.
Ich habe JHipster 5.1 ausprobiert
Ich habe versucht, über JVM / Garbage Collection zusammenzufassen
Ich habe versucht, AdoptOpenJDK 11 (11.0.2) mit dem Docker-Image zu überprüfen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe versucht, polymorph in Nogizaka zu implementieren.
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Ich habe versucht, Anmeldeinformationen mit JMX zu verwalten
Ich habe versucht, die Sitzung in Rails zu organisieren
Java Ich habe versucht, einen einfachen Block zu brechen
Ich habe versucht, grafana und postgres [docker-compose] zu verknüpfen
Ich habe versucht, ein Personalmanagement-Tool zu entwickeln
Ich habe versucht, eine Website für das Studium von DUO3.0 zu entwickeln.
Ich habe auch Web Assembly mit Nim und C ausprobiert
Ich habe versucht, eine LINE-Klon-App zu erstellen
Ich habe versucht, AdoptOpenJDK 8 zu erstellen (zusätzlich: Amazon Corretto 8)
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, JavaFX und Spring Framework zu verknüpfen.
Ich habe versucht, Tomcat so einzustellen, dass das Servlet ausgeführt wird.
Ich habe versucht, eine Anwendung in 2 Sprachen zu entwickeln
Ich habe versucht, eine Website zu entwickeln, um Ausgaben zu erfassen.
Ich habe versucht, einen Server mit Netty zu implementieren
Ich habe versucht, den Block mit Java zu brechen (1)
Ich habe versucht, was ich mit Stream leise versuchen wollte.
Ich habe versucht, Hello World (+ α) in C-Sprache aus JavaScript [Web Assembly] zu verschieben.
[Ich habe es versucht] Spring Tutorial
Ich habe versucht, das Hochladen von Dateien mit Spring MVC zu implementieren
Ich habe versucht, CSV mit Outsystems zu lesen und auszugeben
Ich habe versucht, TCP / IP + BIO mit JAVA zu implementieren
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren