‫Dans les prochaines vidéos, vous allez en apprendre davantage sur les interfaces et elles
‫sont assez importantes car elles étendent vraiment les fonctionnalités de la programmation orientée objet et des classes.
‫Alors qu'est-ce qu'une interface ?
‫Eh bien, pensez aux interfaces comme à des contrats dans lesquels une classe qui implémente une interface accepte de fournir des
‫implémentations pour tous les objets définis par cette interface.
‫Cela signifie qu'une interface contiendra les termes du contrat, les méthodes et les propriétés.
‫Mais la façon dont nous les implémentons dépend de la classe qui implémente l'interface.
‫Tant que ces méthodes d'interface sont implémentées dans notre classe, l'interface restera heureuse.
‫Les interfaces ne peuvent donc pas contenir d'implémentations importantes.
‫Ainsi, leurs noms sont généralement précédés de l'œil pour les distinguer des autres objets en C dièse.
‫Nous créons des interfaces en utilisant le mot-clé interface.
‫Voyons maintenant comment nous pouvons le faire dans la pratique.
‫Très bien, nous revoilà donc dans Visual Studio, donc l'une des fonctionnalités les plus utilisées dans
‫nos classes C sharp consiste à comparer les instances d'une classe, cela se fait à l'aide de la méthode equals.
‫Cela comparera pour voir si la référence aux deux classes est la même.
‫Cependant, nous voulons les comparer et voir s'ils sont égaux en fonction d'un autre domaine afin que nous
‫puissions y parvenir en implémentant une interface appelée I Equatable.
‫Donc, dans notre cas, nous avons une classe appelée ticket et elle définit une propriété appelée durée en heures.
‫Alors allons-y et créons cette classe.
‫Très vite ici, j'ai une nouvelle classe et en fait, je peux soit aller ici, soit utiliser les commandes de raccourci K
‫et C, et je vais appeler ce ticket.
‫Donc ce ticket, comme je l'ai dit, n'a qu'une propriété et un constructeur.
‫Mettons-les donc ici.
‫Cette propriété est donc là pour stocker la variation du ticket et la nôtre.
‫Et puis nous avons le constructeur ici.
‫Et maintenant, allons de l'avant et implémentons l'interface équatorable, donc nous utilisons quelque chose de similaire à ce que nous avons
‫fait lors de l'utilisation de l'héritage, nous avons utilisé les deux points puis l'interface que nous voulons utiliser.
‫Et vous voyez qu'il y en a un tas.
‫Et celui que je veux utiliser va être le I assimilable.
‫Vous devez maintenant définir les types d'objets que vous souhaitez comparer.
‫Donc ici, je veux comparer les billets les uns aux autres.
‫C'est pourquoi je dois ajouter un mot-clé de ticket.
‫Maintenant, vous remarquerez que Visual Studio n'est pas très satisfait car il dit qu'il définit une méthode généralisée à un
‫type valeur de classe implémente pour créer une méthode spécifique.
‫Mais le problème que nous avons ici est que le ticket n'implémente pas les membres de l'interface.
‫Le billet égal est égal au secret.
‫Nous pouvons très facilement résoudre ce problème en allant de l'avant et en implémentant cela, nous aurions donc pu soit utiliser tous
‫les membres pour les implémenter explicitement, soit simplement le faire manuellement.
‫Faisons ça très vite.
‫Donc, en gros, je veux retourner un booléen qui vérifiera si le ticket que je passe, qui
‫sera l'autre ticket, sera le même que le ticket.
‫C'est lui qui appelle cette méthode.
‫OK, donc le billet.
‫Que nous créons à partir de cela, nous le comparons à un autre billet et nous voulons ensuite comparer les heures de
‫durée.
‫Donc s'ils ont la même durée, alors nous supposerons qu'il s'agit du même ticket.
‫OK, donc ici, nous pouvons simplement aller de l'avant et retourner la comparaison de cette durée en heures par rapport aux
‫autres durées et heures.
‫Donc, en gros, nous disons que ce billet a une durée et des heures et que l'autre billet est également de ce
‫billet.
‫Il a donc une durée en heures et nous comparons les deux entre eux.
‫Et cette comparaison, ce double signe égal reviendra fondamentalement.
‫Vrai ou faux?
‫OK, c'est donc l'opérateur taureau à gauche et à droite.
‫Alors ce qu'il fait, c'est qu'il compare ce qui lui reste, à ce qui lui revient.
‫Et s'ils sont identiques, alors il retournera vrai.
‫Sinon, il retournera false.
‫Fondamentalement, dire que cette méthode equals retournera true si le ticket qui appelle la méthode equals a la même durée
‫et les mêmes heures que le ticket avec lequel nous le comparons, puis reviendra.
‫True, sinon, retourne false.
‫OK, alors passons à nos programmes.
‫Oui.
‫Et en fait, utilisez-le.
‫Nous allons donc créer ici deux tickets.
‫L'un sera T one et ce sera un nouveau ticket et il aura une durée et des heures de dix.
‫Et puis copions cela et créons un ticket deux, qui aura également dix heures et maintenant nous pouvons les
‫comparer.
‫Alors ici, utilisons la ligne de droite de contrôle pour afficher simplement T deux points égaux et comparer T un avec elle.
‫Vous pouvez donc comparer notre ticket à notre ticket un et le comparer en utilisant la méthode des égaux.
‫Maintenant, allons-y très vite.
‫Et vous verrez que cela dit vrai, et ce n'est généralement pas le cas pour la méthode equals, car si
‫vous comparez aux objets en utilisant une méthode equals normale, pour ainsi dire.
‫Donc, si nous ne devions pas implémenter cela, débarrassons-nous de cela ici pendant une seconde.
‫Alors commentons tout cela et comparons-le à vous.
‫Tu vois, la méthode est toujours là.
‫Cet égal fonctionne toujours car égal est une méthode qui existe en général, et vous voyez maintenant qu'il dit faux car
‫égal est une méthode qui se trouve à l'intérieur de la classe d'objets.
‫Et la classe d'objets a toujours cette méthode égale car chaque classe hérite de l'objet.
‫Mais maintenant, ce que nous faisons, c'est que nous implémentons notre propre méthode equals en utilisant l'interface equatable.
‫Nous utilisons donc une interface spécifique qui nous permet de comparer à notre manière, pour ainsi dire, et d'implémenter notre propre
‫code.
‫Alors maintenant, si nous comparons les deux, nous ne comparons pas si l'objet est exactement le même avec lequel nous le
‫comparons.
‫Mais si dans notre cas, le temps dans le nôtre est le même.
‫Donc la durée et la nôtre sont les mêmes, et puis ça reviendra.
‫Vrai.
‫Donc si l'heure et les heures ne sont pas les mêmes, disons qu'il est six heures, alors il retournera faux car la
‫durée n'est pas la même pour les deux billets que l'on compare entre eux.
‫Ce n'était donc qu'un exemple utilisant une interface simple qui existe.
‫Et comme vous l'avez vu, de nombreuses interfaces existent automatiquement lors de la création d'un projet spécial.
‫Mais nous allons voir comment créer nos propres interfaces et les utiliser dans la prochaine vidéo.
‫Alors rendez-vous là-bas.