Héritage


Questions 1 Quelle est la diffrence entre un type valeur et un type rfrence Donner des exemples 2 Cest quoi un constructeur et un constructeur par dfaut 3 Combien de constructeurs peut avoir une classe 4 Est il possible dcrire A a new A si la classe A possde un seul constructeur acceptant un seul argument
Rutilisation Pour raccourcir les temps dcriture et de mise au point du code dune application il est intressant de pouvoir rutiliser du code dj cr
Rutilisation classes clientes Soit une classe A dont on a le code compil Une classe C veut rutiliser la classe A C peut crer des instances de A et leur demander des services On dit que la classe C est une classe cliente de la classe A
Rutilisation avec modifications On peut souhaiter modifier en partie le comportement de A avant de la rutiliser le comportement de A convient sauf pour des dtails quon aimerait changer on aimerait ajouter une nouvelle fonctionnalit A
Rutilisation avec modifications du code source On peut copier puis modifier le code source de A dans des classes A1 A2 Problmes code source de A pas toujours disponible les amliorations futures du code de A ne seront pas dans les classes A1 A2 et rciproquement difficile maintenir
Rutilisation par lhritage Lhritage existe dans tous les langages objet classes Lhritage permet dcrire une classe B qui se comporte dans les grandes lignes comme la classe A mais avec quelques diffrences sans toucher ni copier le code source de A On a seulement besoin du code compil de A
Rutilisation par lhritage Le code source de B ne comporte que ce qui a chang par rapport au code de A On peut par exemple ajouter de nouvelles mthodes modifier certaines mthodes
Rutilisation par lhritage La classe B qui hrite de la classe A sappelle une classe fille classe drive ou sous-classe La classe A sappelle une classe mre classe de base classe parente ou super-classe
Exemple dhritage simple Cercle Polygone Rectangle Triangle
Exemple dhritage simple Animal Flin Chat Lion Canid Loup Chien
Exemple dhritage multiple REVEIL RADIO RADIOREVEIL
Exemple dhritage multiple REVEIL RADIO RADIOREVEIL
Hritage en C En C chaque classe a une et une seule classe mre pas dhritage multiple dont elle hrite les membres On utilise pour indiquer la relation dhritage class ClasseFille ClasseMere Ici le code propre ClasseFille Par dfaut toute classe hrite de la classe Object
Hritage en C la classe fille La classe qui hrite peut ajouter des attributs des mthodes et des constructeurs redfinir des mthodes mme signature surcharger des mthodes mme nom mais pas mme signature
Hritage principe Is-A est un Si B A alors tout B est un A Tout chien est un canid et tout canid est un animal Linverse est incorrect Tout canid nest pas forcment un chien ex renard
Hritage principe Is-A est un Consquence Instruction valide ClasseMere m new ClasseFille Instruction non valide ClasseFille f new ClasseMere
Hritage en C Constructeurs Rgle On construit toujours la classe de base avant de construire la classe drive Lappel du constructeur de la classe de base peut tre explicite via le mot clef base Si base nest pas utilis le compilateur fera appel au constructeur par dfaut
Hritage en C Constructeurs Exemple Personne et Salari
Hritage en C Constructeurs Ce code sera-t-il compil class A protected int i public Aint i thisi i class B A
Hritage en C redfinition des mthodes Redfinir une mthode la dclarer dans la classe drive en gardant la mme signature La signature comprend le nom est les arguments de la mthode Rgle Par dfaut le compilateur appelle la mthode de la classe de la rfrence liaison statique
Hritage en C redfinition des mthodes Exemple Dfinition dune nouvelle mthode par new
Hritage en C redfinition des mthodes Pour redfinir une mthode il faut qualifier la mthode de virtual dans la classe de base qualifier la mthode de override dans la classe drive
Hritage en C Exercice Pour redfinir une mthode il faut qualifier la mthode de virtual dans la classe de base qualifier la mthode de override dans la classe drive
Hritage en C Exercice class A public virtual void methode class B A public override void methode class C B public void methode A a new C amethode
Hritage en C la classe Object Object classe dont hrite tous les types dfinis en utilisant les langages du Framework NET C VB NET Lhritage est implicite ne pas crire class ClasseExemple Object
Hritage en C la classe Object Mthode virtuelle Description ToString Retourne une chane qui reprsente lobjet actif GetType Obtient le type exact au moment de lexcution de linstance actuelle EqualsObject Dtermine si lobjet spcifi est identique lobjet actuel Finalize Excute des oprations de nettoyage sur les ressources non manages dtenues par lobjet actif avant que lobjet actif ne soit dtruit GetHashCode Retourne un entier reprsentant un code de hachage de lobjet
تحميل

PPTX

1394 مشاهدة.

Omar Ajouaou

Omar Ajouaou

أرسلت .



كلمات مفتاحية :
héritage
héritage wetud docs ...