1- Notions de la POO
Un objet est une entité qui est composé de membres ; parmi ces membres, on dispose de champs (les variables qui lui sont caractéristiques), de méthodes, de propriétés,
➢ Un objet est créé selon un modèle qu'on appelle une
classe (la famille des objets).
➢ En C# tout est objet: le formulaire Windows est un objet,
une chaîne de caractères est un objet...
V- La POO en C#
06/04/2016
06/04/2016
V
LA POO EN C#
2- Création d’une classe
Espace de noms – Généralement associé au projet, mais pas seulement. Peut contenir plusieurs classes.
Qualificateur de la classe : public: visible par n’importe quel programme d’un autre espace de noms protected: pour les classes imbriquées, sera visible uniquement par la classe conteneur et ses héritiers internal :visible par les autres classes du même assembly (l’EXE ou la DLL du projet) private : visible uniquement par les classes du même espace de noms Par défaut: private si non spécifié pour la classe, attribut ou méthode
V- La POO en C# :
- Notions de la POO
- Création d’une classe
- Création d’un objet
- Constructeur
- Destructeur
- Encapsulation
- Propriétés
- Membres statiques
- Héritage
- Classe abstraite
- Interface
- Types génériques
- Gestion des Exceptions
- Méthode exécutée automatiquement par le processus de récupération de mémoire pour un objet qui n’est plus référencé.
- Méthode seulement autorisée dans les classes.
- La syntaxe d’un destructeur comporte le nom de la classe précédé du caractère ~ : Exemple
- Un membre statique dépend de la classe et non de l’objet instancié
- Appelé méthode de classe ou attribut de classe
- Création d’une propriété statique pour un attribut privé et statique
- Accès se fait en spécifiant le nom de la classe à laquelle il appartient suivi de nom de la propriété ou du nom de la méthode
- Une méthode statique ne peut pas manipuler des attributs d’instance (non statiques) Exemple:
- Technique de POO permettant de définir un classe à partir d’une autre classe en partageant ses attributs et ses méthodes
- En C#, la déclaration de l'héritage suit la syntaxe suivante: class ClasseDérivée : ClasseBase Intérêts: Spécialisation, enrichissement: une nouvelle classe réutilise les attributs et les opérations en y ajoutant des attributs et/ou des opérations particulières à la nouvelle classe. Redéfinition: une nouvelle classe redéfinit les attributs et les opérations d’une classe de manière à en changer le sens et/ou le comportement pour le cas particulier défini par la nouvelle classe. Réutilisation: évite de réécrire du code existant
- Dans la classe mère, déclarer le membre à redéfinir avec le mot clé virtual • Dans la classe fille, déclarer le membre redéfini avec le mot clé override
Publicité
06/04/2016
06/04/2016
Classe fille Enseignant : pour spécifier
l’héritage
base Appel d’un membre de la classe
:base Appel du constructeur de la classe mère mère
Le résultat a changé
Méthode abstraite
9- Héritage (3/4)
Instanciation:
10- Classe abstraite
- Contient au moins une méthode abstraite • Déclarée avec le mot clé abstract • Une méthode abstraite est déclarée avec le mot clé abstract et annonce sa signature (sans donner de définition) • Une méthode abstraite est une méthode virtuelle qui doit être redéfinie dans toute classe héritée de cette classe abstraite • Une classe abstraite ne doit pas être instanciée
- Une interface contient de déclarations de méthodes qui sont automatiquement abstraites.
- Il est impossible de créer un objet à partir d’une interface.
- Une classe implémentant une interface doit fournir le code de toutes les méthodes de l’interface
- Une classe peut implémenter plusieurs interfaces
- La spécification de l’implémentation se fait avec : comme l’héritage
- Plusieurs méthodes en C# sont susceptibles de générer des erreurs ou des exceptions entraînant le plantage de l’application. • Exemple: méthode Parse des classes int, float, double... génère une exception de type FormatException
- Définir l’exception
- Ecrire une méthode qui lève cette
- La gestion d’exceptions se fait comme suit: try{ code susceptible de générer une exception } catch (Exception e){ traiter l'exception e } instruction suivante
- e : objet de type Exception ou dérivé
- Possibilité de spécifier le type d’exception approprié: IndexOutOfRangeException, FormatException, SystemException, etc... (Dans cet exemple, FormatException)
- Si le code de la clause try est susceptible de générer plusieurs types d'exceptions, gérer l'exception avec plusieurs clauses catch
Publicité
Exception personnalisée Le langage C# offre la possibilité de définir des exceptions personnalisées et de les lever en utilisant le mot clé throw, Une exception personnalisée hérite de la classe Exception Exemple :
06/04/2016
- Traiter l’exeption
- On peut ajouter aux clauses try/catch, une clause finallyqui n'est pas obligatoire, et qui permet de spécifier du code qui sera exécuté dans tous les cas, qu'une exception survienne ou pas.
- Lorsqu’on surveille un bloc de code, on commence en général par surveiller toutes les exceptions les plus fines possibles qui nous intéressent et on remonte en considérant les exceptions plus générales, jusqu’à terminer par la classe Exception