1.2 Ce qu'il faut savoir - Cours-ista

NET. Il est constitué d'une liste d'exercices permettant de construire pas à pas
une ... Tous ces exercices sont corrigés et commentés dans le document intitulé :
... Comme les données de base du langage C#, ces fonctions devront permettre
 ...

Part of the document











VB.NET et la programmation objet







Sommaire


| | | |Sommaire 2 |
| | | |Introduction 4 |
| | | |T.P. N°1 - classe d'objet - Encapsulation 5 |
| | | |1.1 OBJECTIFS 5 |
| | | |1.2 Ce qu'il faut savoir 5 |
| | | |1.2.1 Notion de classe 5 |
| | | |1.2.2 Encapsulation 6 |
| | | |1.2.3 Déclaration des propriétés d'un objet 6 |
| | | |1.2.4 Implantation des méthodes 6 |
| | | |1.2.5 Instanciation 8 |
| | | |1.2.6 Accès aux propriétés et aux méthodes 8 |
| | | |1.2.7 Conventions d'écriture 8 |
| | | |1.3 Travail à réaliser 9 |
| | | |T.P. N° 2 - Encapsulation Protection et accès aux données |
| | | |membres 10 |
| | | |2.1 Objectifs 10 |
| | | |2.2 Ce qu'il faut savoir 10 |
| | | |2.2.1 Protection des propriétés 10 |
| | | |2.2.2 Fonctions d'accès aux propriétés 11 |
| | | |Remarque : 11 |
| | | |2.2.3 Accès aux attributs membres par les Property de classe 12 |
| | | |2.3 Travail à réaliser 12 |
| | | |T.P. N° 3 - Construction et destruction 13 |
| | | |3.1 Objectifs 13 |
| | | |3.2 Ce qu'il faut savoir 13 |
| | | |3.2.1 Constructeurs 13 |
| | | |3.2.2 Surcharge des constructeurs 14 |
| | | |3.2.3 Propriétés de classe 15 |
| | | |3.2.4 Méthodes de classe 15 |
| | | |3.2.5 Destructeur 16 |
| | | |3.3 Travail à réaliser 17 |
| | | |T.P. N°4 - L'Héritage 18 |
| | | |4.1 OBJECTIFS 18 |
| | | |4.3 Ce qu'il faut savoir 18 |
| | | |4.2.1 L'héritage 18 |
| | | |4.2.2 Protection des propriétés et des méthodes 19 |
| | | |4.2.3 Mode de représentation 19 |
| | | |4.2.5 Insertion d'une classe dans une hiérarchie 20 |
| | | |4.2.6 Insertion d'une nouvelle classe à partir de Object 21 |
| | | |4.2.7 Constructeur et héritage 22 |
| | | |4.2.8 Appel aux méthodes de la classe de base 23 |
| | | |4.3 Travail à réaliser 23 |
| | | |T.P. N°5 - Les COLLECTIONS 24 |
| | | |5.1 Objectifs 24 |
| | | |5.2 CE QU'il faut savoir 24 |
| | | |5.2.1 Les tableaux statiques 24 |
| | | |5.2.2 Classe ArraysList 24 |
| | | |5.2.3 SortedList 25 |
| | | |SortedList est un dictionnaire qui garantit que les clés sont |
| | | |rangées de façon ascendante. 25 |
| | | |5.3 Travail à réaliser 26 |
| | | |T.P. N° 6 - Polymorphisme 28 |
| | | |6.1 Objectifs 28 |
| | | |6.2 Ce qu'il faut savoir 28 |
| | | |6.2.1 Polymorphisme 28 |
| | | |6.2.2 Méthodes virtuelles 29 |
| | | |6.2.3 Classes génériques 29 |
| | | |6.3 Travail à réaliser 29 |
| | | |Conclusion 30 |


Introduction

Ce support traite des concepts de Programmation Orientée Objet en langage
VB.NET. Il est constitué d'une liste d'exercices permettant de construire
pas à pas une classe d'objet . Les corrigés types de chaque étape sont
présentés dans des répertoires séparés, il s'agit en fait du même cas qui
va évoluer, étape par étape, pour aboutir à un fonctionnement correct de la
classe dans l'univers C#.
Chaque exercice est structuré de la façon suivante :

Description des objectifs visés.
Explications des techniques à utiliser (Ce qu'il faut savoir).
Enoncé du problème à résoudre (Travail à réaliser).
Renvois bibliographiques éventuels dans les ouvrages traitant de ces
techniques (Lectures).
Tous ces exercices sont corrigés et commentés dans le document intitulé :

Proposition de corrigé C#_BPC.
Apprentissage d'un langage de programmation Orientée Objet


Dans ce support, les programmes produits fonctionneront en mode Console
Pour pouvoir utiliser ce support, les bases de la programmation en langage
C# doivent être acquises.

T.P. N°1 - classe d'objet - Encapsulation


1.1 OBJECTIFS

Notion de classe d'objet
Définition d'une nouvelle classe d'objet en C#.
Encapsulation des propriétés et des méthodes de cet objet.
5. Instanciation de l'objet.

1.2 Ce qu'il faut savoir


1.2.1 Notion de classe

Créer un nouveau type de données, c'est modéliser de la manière la plus
juste un objet, à partir des possibilités offertes par un langage de
programmation.
Il faudra donc énumérer toutes les propriétés de cet objet et toutes les
fonctions qui vont permettre de définir son comportement. Ces dernières
peuvent être classées de la façon suivante :

6. Les fonctions d'entrée/sortie. Comme les données de base du langage C#,
ces fonctions devront permettre de lire et d'écrire les nouvelles données
sur les périphériques (clavier, écran, fichier, etc.).

7. Les opérateurs de calcul. S'il est possible de calculer sur ces données,
il faudra créer les fonctions de calcul.

8. Les opérateurs relationnels. Il faut au moins pouvoir tester si deux
données sont égales. S'il existe une relation d'ordre pour le nouveau
type de donnée, il faut pouvoir aussi tester si une donnée est inférieure
à une autre.

9. Les fonctions de conversion. Si des conversions vers les autres types de
données sont nécessaires, il faudra implémenter également les fonctions
correspondantes.

10. Intégrité de l'objet. La manière dont est modélisé le nouveau type de
données n'est probablement pas suffisant pour représenter l'objet de
façon exacte. Par exemple, si l'on représente une fraction par un couple
de deux entiers, il faut également vérifier que le dénominateur d'une
fraction n'est pas nul et que la représentation d'une fraction est unique
(simplification).
La déclaration d'un nouveau type de données et les fonctions qui permettent
de gérer les objets associés constituent une classe.de l'objet.
Les propriétés de l'objet seront implantées sous la forme de données
membres de la classe.
Les différentes fonctions ou méthodes seront implémentées sous la forme de
fonctions membres de la classe.
De façon courante, dans le patois de la programmation orientée objet,
données membres et fonctions membres de la classe sont considérées
respectivement comme synonymes de propriétés et méthodes de l'objet.


1.2.2 Encapsulation

L'encapsulation est un concept important de la Programmation Orientée
Objet.
L'encapsulation permet de rassembler les propriétés composant un objet et
les méthodes pour les manipuler dans une seule entité appelée classe de
l'objet.
Une classe, en C# se déclare par le mot clé class suivi d'un
identificateur de classe choisi par le programmeur de la façon suivante :
Public Class NomDeLaClasse


' Déclaration des propriétés et
' des méthodes de l'objet
End Class


Le fichier contenant le code source portera le nom NomdeLaClasse.cs.
Les identifiants de classe obéissent aux même règles que les identifiants
de variables et de fonctions. Par convention, ils commencent par une
Majuscule (C# considère les majuscules comme des caractères différents des
minuscules).
Les propriétés et les méthodes de l'objet seront déclarées et implémentées
dans le bloc fermé par End Class contrôlé par le mot clé Class. Cela
constitue l'implémentation du concept d'encapsulation en VB .NET

3 Déclaration des propriétés d'un objet

Les propriétés d'un objet sont déclarées, comme des variables, à
l'intérieur du bloc { } contrôlé par le mot clé class.
Public Class NomDeLaClasse


Public NomDeLaPropriete As TypeDeLaProprieté




' Déclaration des méthodes de l'objet
End Class


Les propriétés peuvent être déclarées à tout moment à l'intérieur du corps
de la classe.
Chaque déclaration de propriété est construite sur le modèle suivant :

Public NomDeLaPropriete As TypeDeLaProprieté


Une propriété peut être initialisée lors de sa déclaration :

Public NomDeLaPropriete As TypeDeLaProprieté = valeurInitiale;


Les identifiants de propriété par convention commencent par une majuscule.

4 Implantation des méthodes


Les méthodes peuvent être