[JAVA] C # (polymorphisme: polymorphisme)

Sortie basée sur Java de base C # fait dans le passé

Polymorphisme: polymorphisme

L'une des fonctions pratiques de la classe est que vous pouvez placer une instance de la classe dérivée dans la variable de la classe de base.

Supplément 1

J'ai entendu dire qu'il y avait un groupe de développement qui n'attachait que les finales et que MicroSoft l'avait fait.

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

Supplément 2

Puisque abstract, qui est également en Java, est (une classe non implémentée), new ne peut pas être fait. Il est important de "remplacer et d'écrire le contenu à la destination héritée"!

Je pense qu'il est possible d'accéder de n'importe où car de nombreux mérites peuvent être hérités.

Basé sur

Enemy.cs

namespace ShootingGame
{
    class UFO:Enemy
    {
        public override void Move()
        {
            Console.WriteLine("Déplacez-vous en zigzag");

        }
    }
}

Meteor.cs

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

namespace ShootingGame
{
    class Meteor:Enemy  //Créez une classe Meteor en héritant de la classe Enemy
    {
        //Remplacer la méthode Move de la classe Enemy
        public override void Move()
        {
            Console.WriteLine("Avancez tout droit");
        }
    }
}

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("Se déplacer en tournant");

        }
    }
}

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("Déplacez-vous en zigzag");

        }
    }
}

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];

            //Créer une instance
            ufo = new UFO();
            stars[0] = new Star();
            stars[1] = new Star();
            meteors[0] = new Meteor();
            meteors[1] = new Meteor();

            //Déplacer l'ennemi
            ufo.Move();
            for (int i = 0; i < stars.Length; i++)
            {
                stars[i].Move();
            }
            for (int i = 0; i < meteors.Length; i++)
            {
                meteors[i].Move();
            }
        }
    }
}

Reconnaître les fonctions utiles telles que

Recommended Posts

C # (polymorphisme: polymorphisme)
J'ai essayé de mâcher C # (indexeur)
C # (base de l'encapsulation)
J'ai essayé de mâcher C # (lire et écrire des fichiers)
J'ai essayé de résumer le support d'iOS 14
J'ai essayé d'interagir avec Java
J'ai essayé d'expliquer la méthode
J'ai essayé de résumer l'apprentissage Java (1)
J'ai essayé d'expliquer Active Hash
J'ai essayé de résumer les méthodes utilisées
J'ai essayé de migrer le traitement vers VS Code
J'ai essayé de résumer les expressions Java lambda
J'ai essayé de démarrer avec Web Assembly
J'ai essayé de résoudre la recherche binaire d'AOJ
J'ai essayé d'implémenter le modèle Iterator
J'ai essayé de résumer l'API Stream
J'ai essayé de construire AdoptOpenjdk 11 sur CentOS 7
Qu'est-ce que Docker? J'ai essayé de résumer
J'ai essayé d'utiliser Selenium comme JQuery
J'ai essayé de toucher JavaScript Part.2 orienté objet
J'ai essayé Spring.
J'ai essayé de mettre Tomcat
J'ai essayé youtubeDataApi.
J'ai essayé de refactoriser ①
J'ai essayé FizzBuzz.
J'ai essayé JHipster 5.1
J'ai essayé de résumer sur JVM / garbage collection
J'ai essayé de vérifier AdoptOpenJDK 11 (11.0.2) avec l'image Docker
J'ai essayé de faire une authentification de base avec Java
J'ai essayé d'implémenter des relations polymorphes à Nogizaka.
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé de gérer les informations de connexion avec JMX
J'ai essayé d'organiser la session en Rails
java j'ai essayé de casser un simple bloc
J'ai essayé de lier grafana et postgres [docker-compose]
J'ai essayé de développer un outil de gestion des effectifs
J'ai essayé de développer un site Web pour étudier DUO3.0.
J'ai aussi essayé Web Assembly avec Nim et C
J'ai essayé de créer une application de clonage LINE
J'ai essayé de construire AdoptOpenJDK 8 (ajout: Amazon Corretto 8 également)
J'ai essayé de sortir quatre-vingt-dix-neuf en Java
J'ai essayé de lier JavaFX et Spring Framework.
J'ai essayé de configurer tomcat pour exécuter le servlet.
J'ai essayé de développer une application en 2 langues
J'ai essayé de développer un site Web pour enregistrer les dépenses.
J'ai essayé d'implémenter un serveur en utilisant Netty
J'ai essayé de casser le bloc avec java (1)
J'ai essayé ce que je voulais essayer avec Stream doucement.
J'ai essayé de déplacer Hello World (+ α) écrit en langage C à partir de JavaScript [Web Assembly]
[J'ai essayé] Tutoriel de printemps
J'ai essayé d'implémenter le téléchargement de fichiers avec Spring MVC
J'ai essayé de lire et de sortir CSV avec Outsystems
J'ai essayé d'implémenter TCP / IP + BIO avec JAVA
J'ai essayé d'implémenter la notification push Firebase en Java