‫Dans cette vidéo, vous allez en apprendre davantage sur l'héritage en C Sharp ou en programmation en général, je vais
‫essayer de rester super simple car cela peut devenir assez compliqué si vous le regardez, car il se passe
‫beaucoup de choses.
‫Mais je vais le simplifier au maximum, d'accord, car l'idée d'héritage est vraiment la
‫réutilisation du code.
‫Et cela nous permet non seulement de réduire notre propre code, mais de réduire directement le code d'autres développeurs
‫ou même d'autres espaces de noms sans avoir à écrire beaucoup de code manuellement encore et encore, ce qui
‫était là avant.
‫Et cela réduit vraiment le code répété ou redondant.
‫OK, donc l'idée d'héritage est fondamentalement un concept fondamental de la programmation orientée objet.
‫Il vous permet de définir une classe enfant qui réutilise ou hérite, étend ou modifie le comportement d'une classe
‫parent.
‫La classe dont les membres sont hérités est appelée classe de base.
‫La classe qui hérite des membres de la classe de base est appelée classe dérivée.
‫OK, alors qu'est-ce que cela signifie?
‫Eh bien, en termes simples, si vous avez plus d'une classe avec le même code ou
‫la même fonctionnalité, mais que cela diffère légèrement, nous pouvons en fait mettre ce code répété ou redondant
‫dans une classe distincte, puis en faire hériter notre classe.
‫Ce code peut être une fonctionnalité de méthode, pour ainsi dire, ou des propriétés, qui sont les attributs de
‫nos classes.
‫Alors regardons un exemple et donc je crée un nouveau projet ici, que j'appelle Inheritance Demel.
‫D'accord.
‫Alors allons-y et regardons cet exemple.
‫Donc, généralement, lorsque vous travaillez avec plusieurs classes, vous allez de l'avant et créez une nouvelle classe ici.
‫OK, alors faisons-le ici aussi.
‫Vous pouvez bien sûr créer la classe dans le même fichier, mais ce n'est pas une bonne pratique.
‫Alors allons-y et appelons cette radio de classe.
‫D'accord.
‫Voici donc la classe disons publicité radio.
‫Et maintenant, nous avons cette classe de radio, qui porte le même nom.
‫OK, donc les deux classes, le programme demande où nous avons notre méthode principale, qui est le point de départ
‫de notre application et la classe radio sont sous la même forme.
‫Nous allons donc avoir deux cours.
‫L'un sera la radio et l'autre la télévision.
‫Supposons simplement que nous ayons quelques propriétés.
‫Ainsi, par exemple, un booléen qui détermine l'état de la radio est-il allumé, puis la marque
‫de la radio, de même qu'un Panasonic ou toute autre marque.
‫Et puis nous avons un constructeur simple ici.
‫Vous devez donc absolument avoir une compréhension des concepts de base des classes.
‫Si vous voulez bien comprendre l'héritage, c'est généralement quelque chose que je recommanderais de comprendre avant d'aborder
‫l'héritage car il se construit les uns sur les autres.
‫OK, alors je veux avoir deux méthodes parce que ce sera essentiellement la fonctionnalité.
‫Donc l'un va allumer la radio, ce sera la méthode d'allumage et l'autre sera la
‫méthode d'extinction.
‫Vous pouvez donc allumer et éteindre la radio ou l'allumer en utilisant ces deux méthodes.
‫Et puis nous aurons une autre méthode qui nous permettra d'écouter la radio.
‫OK, nous avons donc cette méthode ici appelée Listen Radio et elle vérifiera.
‫La radio est-elle allumée en ce moment ?
‫Alors est-ce que c'est sur la propriété ici, ce booléen, est-ce que ça va être en fait, vrai ?
‫Et si c'est vrai, alors nous pouvons écouter la radio et la façon dont nous allons indiquer que nous
‫écoutons la radio sera simplement avec cette déclaration de ligne rouge de la console disant écouter la radio
‫et sinon, nous allons imprimer ce message d'erreur indiquant que la radio est éteinte.
‫Allumez-le d'abord.
‫OK, donc avant de pouvoir l'écouter, nous devons l'allumer.
‫D'accord.
‫C'est donc notre radio maintenant.
‫Maintenant, imaginez que vous avez une autre classe, qui va être.
‫La télé.
‫OK, alors allons-y et créons une nouvelle classe, et donc vous pouvez aller ici pour ajouter, puis ajouter une classe
‫et donner un nom à cette classe.
‫Je vais l'appeler la télé.
‫Et maintenant, dans cette classe, je vais aller de l'avant et avoir quelques propriétés similaires à celles que nous avions ici.
‫Donc, fondamentalement, je vais également avoir les états s'il est activé ou désactivé.
‫Ajoutons donc ces deux propriétés ici.
‫Ensuite, j'aurai un constructeur simple qui me permettra de définir ces valeurs lorsque je créerai un nouvel objet
‫de télévision.
‫Donc ici, c'est sur ainsi que String Brand, qui définit les propriétés.
‫Ensuite, je devrai utiliser d'autres méthodes pour pouvoir allumer et éteindre le téléviseur, de la même manière que j'ai fait à
‫la radio pour pouvoir copier ce code.
‫Mais ce sera légèrement différent parce que nous avons eu les commentaires qui disaient radio ici, mais maintenant ce sera
‫la télévision.
‫Cette méthode allumera donc le téléviseur et celle-ci l'éteindra ou l'éteindra.
‫OK, alors nous avons juste besoin d'avoir une autre méthode qui nous permettra de regarder la télévision et cela fera quelque chose de très similaire
‫à ce que fait notre radio.
‫Il nous permet de regarder la télévision uniquement si la télévision est allumée.
‫S'il est éteint, nous devrons d'abord allumer le téléviseur.
‫OK, alors maintenant nous avons ces deux classes et si vous les regardez, elles sont terriblement similaires.
‫Il y a donc beaucoup de choses qui sont exactement les mêmes, essentiellement parce que cette propriété est aussi bien que
‫cette marque.
‫Ce sont les mêmes.
‫Nous les avons dans les deux classes.
‫Donc, fondamentalement, nous avons du code redondant.
‫Nous devons copier et coller un tas de code et c'est plus ou moins la même chose.
‫Alors, comment pouvons-nous faire en sorte que nous n'ayons pas à copier et coller beaucoup de code et à réécrire le code et à avoir du code
‫redondant ?
‫Eh bien, c'est tout l'intérêt du concept d'héritage.
‫L'héritage vient donc à la rescousse.
‫Nous pouvons résoudre ce problème en créant une troisième classe appelée appareil électrique.
‫Celui-ci contiendra toutes les fonctionnalités et propriétés partagées d'un appareil électrique dont nous disposons.
‫Alors regardons-les.
‫Quels sont ceux que nous avons qui sont les mêmes?
‫Alors, quelles sont les propriétés qui sont les mêmes pour notre téléviseur ainsi que pour la radio ?
‫Eh bien, c'est dans notre cas, toutes les propriétés, en fait, mais il n'est pas nécessaire que toutes les propriétés soient dans ce
‫cas.
‫Ce sera parce que nous n'avons plus de propriétés.
‫Mais les deux propriétés que nous avons là-bas seront les mêmes.
‫Il en va de même et Brent sont des propriétés qui existent à la fois à la télévision et à la radio.
‫Notre nouvelle classe devrait donc avoir ces deux propriétés.
‫Et puis nous avons les deux méthodes qui nous permettent d'allumer la télévision et la radio ou la radio
‫et la télévision également.
‫OK, donc pour vous, un petit exercice si vous voulez essayer cela, car je suppose que vous n'êtes pas un rôle et une programmation à
‫ce stade, mais vous vous sentirez beaucoup plus en confiance lorsque vous essayerez cela.
‫Alors allez-y et créez une classe qui a toutes ces propriétés et ces méthodes que nous pouvons montrer toutes qui sont partagées
‫entre les deux classes, créez-les dans une classe séparée et appelez cette classe appareil
‫électrique.
‫En fait, vous pouvez l'appeler comme vous voulez, mais je vais l'appeler appareil électrique comme tel.
‫OK, alors j'espère que vous posterez la vidéo et que vous l'aurez essayée, alors je vais créer une nouvelle classe et au fait,
‫bien sûr, vous voyez que vous pouvez utiliser le contrôle de raccourci Casey.
‫Alors faisons ça dans ce cas, contrôle, tu vois ?
‫Et cela ouvrira cette fenêtre ici et me permettra de la changer en électrique.
‫Appareil comme ça, et maintenant ce verre aura les propriétés que nous partageons entre les deux autres classes, donc nous
‫les mettons ici, le booléen qui détermine l'état de l'appareil électrique, est-il allumé
‫ou non ?
‫Et puis la marque de l'appareil.
‫Et puis, bien sûr, nous avons besoin d'un constructeur.
‫L'appareil électrique est donc allumé.
‫Et Brent et enfin, nous avons les fonctionnalités que sont les méthodes.
‫Donc, chaque fois que vous avez des fonctionnalités, vous les mettez dans des méthodes et la fonctionnalité consiste à
‫activer ou désactiver quelque chose.
‫Ainsi, chaque fois qu'une action se produit avec votre classe ou avec l'objet que vous utilisez, vous
‫devrez utiliser des méthodes.
‫Encore une fois, c'est ce que nous faisons ici.
‫Nous utilisons donc une méthode pour allumer quelque chose, dans ce cas, l'appareil électrique et pour l'éteindre
‫ou l'allumer et l'éteindre.
‫D'accord, c'est donc essentiellement ce que nous faisons ici.
‫Alors maintenant que nous avons nos propriétés et méthodes de partage dans une classe,
‫faisons de l'autre classe des classes TV et radio héritées de cette classe ou en d'autres termes, étendons cette classe.
‫OK, donc c'est juste un terme différent que vous pouvez utiliser ici.
‫Ainsi, notre télévision et notre radio étendront désormais la classe des appareils électriques.
‫Alors comment pouvons-nous faire cela?
‫Bon, commençons par la radio, car la télé sera alors pour vous un petit défi
‫où vous devrez le faire vous-même.
‫Donc ici, vous avez utilisé un deux-points, puis le nom de la classe que vous souhaitez hériter de l'appareil électrique
‫est la classe que je vais maintenant hériter par radio, d'où notre radio étendra les fonctionnalités de
‫la classe d'appareil électrique.
‫OK, donc deux points puis le nom de la classe que vous souhaitez étendre et ce qui
‫est important, c'est, bien sûr, que cette classe doit être soit dans le même espace de nom, soit vous devez ajouter l'espace de nom
‫ici.
‫Donc, dans notre cas, nous n'en utilisons aucun.
‫Nous utilisons simplement le système.
‫Mais comme nous sommes dans le même espace de noms, donc la classe des appareils électriques est dans le même espace de noms que la
‫radio et la télévision, nous pouvons simplement procéder ainsi.
‫Mais maintenant, nous pouvons voir que notre Bolian a un avertissement ici.
‫Ainsi, lorsque vous survolez votre I. RÉ. , donc Visual Studio va vous dire que Radio Dot est au top.
‫Les appareils électriques des membres hérités sont en cours d'utilisation.
‫Le nouveau mot-clé si le masquage était voulu.
‫Donc, fondamentalement, nous utilisons le même nom de propriété et ici vous voulez éviter cela parce que vous avez cette propriété, pour
‫ainsi dire, déjà parce que vous l'héritez de l'appareil électrique.
‫Alors maintenant, vous pouvez simplement le masquer ou le remplacer par celui que vous avez créé ici.
‫Si vous voulez utiliser quelque chose avec exactement le même nom, mais qu'il devrait se comporter différemment, vous pouvez le
‫faire, même si c'est une bonne pratique qui dépend nécessairement du cas d'utilisation, bien sûr.
‫C'est donc parce que maintenant la classe radio contient deux propriétés du même nom que nous cachons ou couvrons.
‫C'est un terme différent ici, les propriétés que nous avons héritées de la classe des appareils électriques.
‫Nous allons donc supprimer le code redondant dont nous n'avons plus besoin.
‫Alors débarrassons-nous de ça.
‫Et bien sûr, le code redondant ne consiste pas seulement à attribuer ou à créer les propriétés, mais également à avoir
‫ces méthodes ici.
‫Alors débarrassons-nous également de ceux-ci.
‫Maintenant, nous avons une autre erreur qui apparaît ici, et c'est ce constructeur de radio qui semble avoir un
‫problème.
‫Il dit qu'il n'y a aucun argument donné qui correspond au paramètre formel requis est sur l'appareil électrique,
‫la corde d'arc de l'appareil électrique.
‫Alors qu'est-ce que cet appareil électrique, cette corde d'arc d'appareil électrique ?
‫Eh bien, c'est celui-ci ici.
‫C'est ce constructeur.
‫Étant donné que toutes les propriétés proviennent de la classe de base et que notre classe de base contient un
‫constructeur, nous pouvons utiliser le mot-clé base pour passer notre classe de base, ses arguments de constructeur, car ce sont les deux seules
‫propriétés que nous ayons et notre constructeur dans la classe enfant avoir un corps vide.
‫OK, donc c'est beaucoup de discussions.
‫Mais fondamentalement, cela signifie que parce que notre constructeur de radio n'est pas plus complexe que celui
‫de base, nous pouvons simplement aller de l'avant et dire base.
‫Et voici sur et Brent.
‫Comme ça, nous n'avons pas besoin d'un corps pour notre radio, donc ce constructeur dira essentiellement que c'est
‫activé ainsi que les propriétés de la marque qui sont transmises à l'objet radio
‫qui, lorsqu'il est créé, le transmet à l'appareil électrique constructeur, car fondamentalement notre radio hérite d'un appareil électrique et
‫nous pouvons donc le faire.
‫Nous pouvons donc simplement le transmettre à l'appareil électrique.
‫Et ce que cela fera, c'est que cela définira essentiellement les propriétés ainsi que l'impression en fonction des
‫valeurs transmises.
‫D'accord, c'est ainsi.
‫La partie la plus compliquée, mais la puissance ici est vraiment que nous n'avons pas à construire de
‫code redondant et, eh bien, le travail est fait pour nous, donc cela nous fait gagner beaucoup de temps et d'écriture de code également.
‫Dans un exemple ultérieur, nous verrons comment utiliser le corps du constructeur dans la classe enfant
‫pour initialiser ses propres propriétés uniques, afin de ré-accentuer rapidement la classe radio ici.
‫Est notre classe d'enfant.
‫OK, donc la classe d'héritage et l'appareil électrique sont notre classe parent, donc la classe de base.
‫Donc nous allons hériter donc notre radio hérite d'un appareil électrique, donc l'enfant hérite du parent, en gros vos parents ont un
‫certain ADN et vous avez le même ADN, mais vous en aurez un peu plus,
‫pour ainsi dire.
‫C'est ainsi que vous pourriez y penser.
‫D'accord.
‫Alors maintenant, un petit défi pour vous.
‫Ajustez la classe TV pour qu'elle hérite également de l'appareil électrique.
‫Donc positivement.
‫Et essayez ça, s'il vous plaît.
‫D'accord.
‫J'espère que vous l'avez essayé.
‫Donc, d'abord, nous devons ajouter un appareil électrique Polan, puis nous pouvons nous débarrasser du code redondant.
‫Donc le code répétitif, car nous l'avons déjà dans notre classe de base.
‫Et cela signifie que nous pouvons également l'utiliser directement dans notre cours de télévision.
‫Et maintenant, nous pouvons également ajuster cela ici, en disant que nous allons transmettre les données à notre classe de base.
‫Et bien sûr, nous n'avons pas besoin de définir cela ici aussi.
‫Mais comme je l'ai dit dans l'exemple suivant, nous allons voir comment nous pouvons encore utiliser le corps efficacement.
‫Et ce sera essentiellement tout.
‫Maintenant, nous pouvons simplement aller de l'avant avec notre programme, fichier CSS et vérifier notre code ici.
‫Et en vérifiant notre code, je veux dire créer des objets de notre radio et la tester.
‫Alors allons-y.
‫Un objet radio.
‫Je vais appeler celui-ci sur ma radio et ce sera un nouvel objet radio.
‫Bien sûr, je dois transmettre si c'est allumé.
‫Donc je vais être éteint au début et je vais dire que ça va être fait par Sony.
‫La marque sera donc Sony.
‫Maintenant, je peux accéder aux propriétés.
‫Vous pouvez voir ici juste à Eitam, les propriétés de ma propre radio, qui est la marque et qui est
‫sur la propriété et je peux également accéder à ses méthodes.
‫Alors allumez, éteignez.
‫Écoute, radio.
‫Et puis vous pouvez également voir qu'il y a des méthodes que nous n'avons jamais créées nous-mêmes
‫qui sont juste là dès le départ car chaque classe hérite de la classe d'objets et la classe d'objets a une
‫méthode à deux chaînes ainsi qu'un type d'obtention get code et équivaut à la méthode.
‫OK, donc ces méthodes, elles sont là pour chaque classe que vous créez dans C Sharp
‫parce qu'en gros nous ne la voyons pas, mais en interne elle hérite de la classe d'objet comme ça, donc chaque classe hérite de
‫la classe d'objet et c'est pourquoi nous avons ces différentes méthodes.
‫Mais maintenant, commençons par l'allumer.
‫Alors voilà, allumez.
‫Cela allumera notre radio et maintenant nous pouvons écouter notre radio, alors écoutez ma radio, écoutez la radio.
‫Maintenant, lançons ceci, et cela nous permettra d'écouter notre radio.
‫Alors là, nous écoutons la radio, alors nous allumons la radio, maintenant n'allumons pas la radio
‫et écoutons la radio et il dira radio éteinte.
‫Allumez-le d'abord.
‫Très bien, alors maintenant.
‫Faisons la même chose avec notre téléviseur.
‫Allons de l'avant et créons un objet TV.
‫Je vais appeler cela sur mon téléviseur, qui sera un nouvel objet TV, et celui-ci sera également désactivé et
‫sera un appareil Samsung.
‫Et maintenant, allons-y et utilisons mon téléviseur, cet interrupteur pour l'allumer.
‫Et puis c'est ce qu'on appelle la méthode regarder la télévision.
‫Comme, alors maintenant, lançons ceci et nous verrons que maintenant notre téléviseur est allumé et que nous le regardons tout en
‫écoutant la radio.
‫Donc toute une tâche là-bas.
‫Mais fondamentalement, notre code fait ce que nous voulons qu'il fasse.
‫Alors maintenant, vous voyez que nous appelons la méthode d'allumage pour la radio ainsi que pour la télévision, même si si
‫nous regardons la classe TV, elle n'a pas cette méthode.
‫Il n'a donc pas d'interrupteur.
‫Eh bien, activez ou désactivez la méthode.
‫La radio n'a pas non plus ces méthodes, mais c'est parce qu'elles héritent
‫de l'appareil électrique, qui a ces méthodes allumées et éteintes que nous pouvons utiliser.
‫Donc, en gros, ici, nous utilisons la méthode de la classe de base.
‫Alors ici, méthode de la classe de base.
‫Et ici, nous utilisons la méthode de la classe enfant.
‫Ainsi, la méthode d'activation provient du parent plus et la méthode de regarder la télévision provient de l'enfant plus.
‫Alors maintenant, nous pouvons créer le code qui est unique à la classe et qui n'est pas répétitif, pour ainsi dire, directement dans la classe
‫de télévision comme dans la classe de radio.
‫Mais tout ce qui est identique et sera pertinent pour les appareils électriques en général est quelque chose que
‫nous pouvons créer ici.
‫Il y a beaucoup plus à hériter et bien sûr, nous allons examiner tout cela tout au long de ce
‫chapitre.
‫Alors rendez-vous dans la prochaine vidéo.