L'orientation objet est l'un des principes fondamentaux de la programmation, et elle est particulièrement importante lorsque vous travaillez avec Unity et C#. Dans ce chapitre, nous aborderons deux concepts principaux de l'orientation objet en C# : l'héritage et le polymorphisme.
16.3.1 Héritage
L'héritage est l'un des piliers de l'orientation objet. Il vous permet de créer une nouvelle classe qui réutilise, étend et modifie le comportement défini dans une autre classe. La classe dont les membres sont hérités est appelée classe de base et la classe qui hérite de ces membres est appelée classe dérivée.
En C#, l'héritage est défini à l'aide du symbole ':'. Par exemple, si nous avons une classe de base « Animal » et que nous voulons créer une classe dérivée « Chien », nous procéderions comme ceci :
Ici, 'Dog' hérite de la méthode 'Eat()' de 'Animal', et définit également une nouvelle méthode 'Bark()'. Ainsi, un objet de la classe 'Dog' peut appeler les deux méthodes.
16.3.2 Polymorphisme
Le polymorphisme est un autre pilier de l'orientation objet. Il vous permet de traiter les objets d'une classe dérivée comme des objets de sa classe de base, ce qui peut être utile pour écrire du code plus générique et réutilisable.
Le polymorphisme en C# est implémenté via des méthodes virtuelles dans la classe de base et des méthodes de substitution dans la classe dérivée. Une méthode virtuelle est une méthode qui peut être substituée dans une classe dérivée. Pour créer une méthode virtuelle, vous utilisez le mot-clé 'virtual' dans la déclaration de méthode dans la classe de base :
Ensuite, dans la classe dérivée, vous pouvez remplacer cette méthode en utilisant le mot-clé 'override' :
Maintenant, si vous créez un objet de la classe 'Dog' et appelez la méthode 'MakeSound()', il affichera "Le chien aboie". Mais si vous traitez cet objet comme un "Animal" et appelez "MakeSound()", il affichera toujours "Le chien aboie", car la méthode a été remplacée.
En résumé, l'héritage et le polymorphisme sont des concepts fondamentaux de la programmation orientée objet en C#. Ils vous permettent d'écrire du code plus réutilisable et générique, ce qui est particulièrement utile lorsque vous travaillez avec Unity. Dans le prochain chapitre, nous explorerons comment ces concepts peuvent être appliqués pour créer des jeux plus complexes et intéressants.