Surcharge


Dfinition Il y a surcharge dune mthode dans une classe lorsque On utilise le mme nom pour diffrentes mthodes Ces mthodes diffrent par leurs types de paramtres ou le nombre de ceux-ci Les mthodes surcharges doivent tre li au mme comportement de lobjet
Exemple class Personne public void Dormir DateTime dbutsommeil DateTime finsommeil public void Dormir DateTime dbutsommeil int nombreHeures public void DormirDateTime finsommeil
Polymorphisme Le polymorphisme signifie que lxecution dune mthode peut prendre plusieurs formes Deux mcanismes servant cet objectif La redfinition de la mthodes La surcharge de la mthode
Polymorphisme Exemple Tableau de proquets ayant deux mthodes Repeterstring s Repeter string s int n
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
تحميل

PPTX

1039 مشاهدة.

Omar Ajouaou

Omar Ajouaou

أرسلت .



كلمات مفتاحية :
surcharge
surcharge wetud docs ...