Mise en œuvre de l'héritage et du polymorphisme dans le code d'unité

L'implémentation de l'héritage et du polymorphisme dans le code vous permet de créer des classes plus spécialisées basées sur des classes existantes et de traiter les objets de différentes classes comme des objets d'une classe de base commune. Cela favorise la réutilisation, la flexibilité et l'extensibilité du code. Voici un exemple d'implémentation de l'héritage et du polymorphisme dans Unity:

Héritage

L'héritage est réalisé en créant une nouvelle classe (classe enfant ou dérivée) basée sur une classe existante (classe parent ou de base). La classe enfant hérite des attributs et des méthodes de la classe parent et peut ajouter ses propres attributs et méthodes uniques ou modifier ceux qui existent déjà. Voici un exemple:

// Base class
public class Shape
{
    public virtual void Draw()
    {
        Debug.Log("Drawing a shape...");
    }
}

// Derived class
public class Circle : Shape
{
    public override void Draw()
    {
        Debug.Log("Drawing a circle...");
    }
}

Dans cet exemple, la classe 'Shape' est la classe de base, et la classe 'Circle' en est dérivé. La méthode 'Draw()' est définie dans les deux classes, mais la classe 'Circle' remplace la méthode pour fournir sa propre implémentation. Cela vous permet de spécialiser le comportement de la classe 'Circle' tout en conservant le comportement partagé défini dans la classe 'Shape'.

Polymorphisme

Le polymorphisme permet aux objets de différentes classes d'être traités comme des objets d'une classe de base commune, offrant de la flexibilité et permettant un code qui fonctionne sur des objets de manière générique. Voici un exemple:

void DrawShapes(Shape[] shapes)
{
    foreach (Shape shape in shapes)
    {
        shape.Draw();
    }
}

// Usage
Shape[] shapes = new Shape[] { new Circle(), new Shape() };
DrawShapes(shapes);

Dans cet exemple, la méthode 'DrawShapes()' accepte un tableau d'objets 'Shape'. Il itère sur le tableau et appelle la méthode 'Draw()' sur chaque objet. Le tableau contient un objet 'Circle' et un objet de base 'Shape'. Cependant, puisque la classe 'Circle' remplace la méthode 'Draw()', l'implémentation appropriée pour chaque objet est appelée en fonction de son type réel au moment de l'exécution. Cela démontre le polymorphisme en action.

Conclusion

En tirant parti de l'héritage et du polymorphisme dans votre Unity code, vous pouvez créer des classes spécialisées basées sur celles existantes, définir des comportements partagés dans les classes de base et écrire du code qui opère sur des objets de manière générique, offrant de la flexibilité et favorisant la réutilisation du code.

Articles suggérés
Mise en œuvre de la saisie au clavier et à la souris dans Unity
Création de classes et d'objets dans Unity Code
Implémentation du contrôle du casque VR dans Unity
Créer un jeu inspiré de Pac-Man dans Unity
Implémentation de la téléportation dans Unity
Rotation sur place dans Unity
Créer un bazooka dans Unity