Classe abstraite et Interface


Classes abstraites et Interfaces
Classe abstraite Dfinition Une classe abstraite est un type particulier de classes qui ne peut tre instancier Une classe abstraite sert comme classe de base pour autres classes Elle permet de spcifier des caractristiques communes une hirarchie de classes dune manire abstraite
Classe abstraite Pourquoi Parfois Le concept modlis par la classe est trop abstrait pour en crer des objets concrets Il existe dans les classes des mthodes qui ncessitent une implmentation spcifique
Classe abstraite Exemple On ne peut imaginer un animal concret sans spcifier de quel animal il sagit Le concept Animal et un bon candidat pour tre une classe abstraite On peut attribuer les caractristiques suivante la classe Animal PoidsEnGrammes DimensionMaximale Respirer SeNourir
Classe abstraite Dclaration Une classe peut tre dclare comme abstraite en plaant le mot cl abstract avant la dfinition de la classe abstract class classX public abstract class classY
Classe abstraite pas dinstanciation Comme il est impossible de crer des objets dun classe abstraite Il est incorrect dcrire abstract class ClasseX ClasseX cx new ClasseX
Classe abstraite Mthode abstraite Gnralement une classe est abstraite car elle possde des mthodes quon ne saurait implmenter class Animal public void Respirer Que mettre ici public void SeNourrirLes animaux se nourrissent diffremment
Classe abstraite Mthode abstraite Pour dclarer une mthode abstraite utiliser encore le mot cl abstract avant le type de retour La mthode abstraite ne dispose pas de corps abstract class Animal Pas dimplmentation pour la mthode abstraite public abstract void Respirer public abstract void SeNourrir
Classe abstraite Mthode abstraite Une mthode abstraite est implicitement virtuelle La dclaration dun mthode abstraite nest permise que dans une classe abstraite Les classes non abstraites et drives de la classe abstraite doivent implmenter toutes les mthodes abstraites hrites en spcifiant le mot cl override Une class abstraite peut redfinir une mthode virtuelle hrite en une mthode abstraite abstract class B A public abstract override void MethodeVirtuelle
Classe abstraite Proprit abstraite Une classe abstraite peut dfinir des proprits abstraites ne spcifiant pas limplmentation de get ou set abstract class Figure la formule pour calculer la surface est inconnue public abstract double Surface get
Interfaces Parfois On peut caractriser le comportement sans spcifier lobjet Voler est un comportement partag entre des objets non lis Avion Oiseau Abeille Chauve-souris Une interface est le regroupement dun comportement commun qui nest pas forcment li un type en particulier
Interfaces Exemple interface IPeutVoler Mthodes void Dcoller void Atterrir bool ChangerAltitudedouble nouvelleAltitude Proprit double Altitude get
Interfaces Utilisation Une classe peut implmenter une interface en utilisant une notation semblable celle de lhritage class Avion IPeutVoler Mthodes PUBLIQUES public void Dcoller Code de Dcoller public void Atterrir Code de Dcoller public void ChangerAltitudedouble nouvelleAltitude Code de Dcoller Proprit PUBLIQUE double altitude public double Altitude get return altitude
Interfaces Implmenter plusieurs interfaces Une classe peut implmenter plusieurs interfaces en sparant la liste dinterfaces par des virgules interface IPeutGazouiller void Gazouillerint dure class Oiseau IPeutVoler IPeutGazouiller Implmentation des interfaces
Interfaces Caractristiques Ne peut pas tre instancie Tous les membres ne sont pas implmentes Dfinit une relation CAN-DO Permet le polymorphisme Une classe peut implmenter plus dune Interfaces Une classe qui implmente une interface doit implmenter publiquement toutes ses mthodes sinon le compilateur gnre une erreur Une interface peut hriter dune ou de plusieurs interfaces de base
Implmentation dinterface explicite
تحميل

PPTX

1655 مشاهدة.

Omar Ajouaou

Omar Ajouaou

أرسلت .



كلمات مفتاحية :
classe abstraite interface
classe abstraite interface wetud docs ...