Initiation à la programmation orientée-objets Visual Basic.NET, tutoriel & guide de travaux pratiques en pdf.
Note à propos des symboles et notations utilisées
Voici une description des symboles et notations spéciales utilisées au sein de cette ouvrage :
Utilisé au sein du texte normal, indique le nom d’une variable, d’une fonction ou d’un objet.
Indique un bloc de code qui doit être tapé à l’intérieur de l’éditeur de code de Visual Basic.NET.
Utilisé au sein d’un bloc de code, indique que le code se continue sur la ligne suivante au sein du document seulement puisque la largeur de la feuille de papier en restreint l’inscription sur une seule et même ligne.
Indique une note spéciale généralement à l’attention des utilisateurs des versions antérieures de Visual Basic.
Initiation à la programmation orientée-objets
Visual Basic.NET est désormais un langage pleinement orientée-objets et supporte donc l’héritage et le polymorphisme en plus d’emprunter diverses fonctionnalités du C++ telles la surcharge de fonctions et la gestion structurée des erreurs. Mais avant de commencer, certains voudront connaître de quoi retourne au juste la programmation orientée-objets (POO).
La programmation orientée-objets place l’objet au milieu de son concept. L’objet réuni aux autres objets l’entourant et aux liens les unissant permettent à la programmation orientée-objets de modéliser notre univers le plus fidèlement possible.
Toute l’histoire commence par le concept de l’encapsulation qui stipule que tout objet doit conserver confidentiel les détails de son fonctionnement interne et ne rendre disponible publiquement que des fonctionnalités intuitives et simples d’utilisation. Ainsi, si pour calculer le salaire hebdomadaire d’un employé je dois multiplier le nombre d’heures qu’il a travaillé par son salaire horaire puis soustraire une multitudes d’impôts, de taxes et de rentes de toutes sortes, un objet Employé n’aurait qu’à rendre public la fonctionnalité CalculerSalaireHebdo.
On remarque que l’objet Employe utilisé au sein de la programmation orientée-objets possède des fonctionnalités intuitives et qu’il encapsule les détails du calcul du salaire hebdomadaire évitant ainsi les risques d’erreurs et la répétition du code.
Un objet, communément appelé classe, exposera donc au programmeur une série de fonctionnalités et en dissimulera son fonctionnement interne. Ces fonctionnalités sont regroupés au sein de trois grandes catégories :
Propriétés
Caractéristique de l’objet ou comportement qu’il doit adopter. Une voiture est rouge, possède quatre roues, possède une consommation d’essence, etc.
Méthodes
Fonction exécutable par l’objet. On peut demander à la voiture de rouler, klaxonner, freiner, etc.
Événements
Soulevé par l’objet afin de nous notifier un événement. La voiture a étouffée, a percuté un poteau, a manquée d’essence, etc.
Différents autres concepts tels l’héritage et le polymorphisme qui accompagnent le concept de programmation orientée-objets seront explorés en temps venus.
Aperçu de la plate-forme .NET
La plate-forme .NET est l’ensemble des composants et services mis à la disposition du programmeur afin de lui simplifier le développement. La plate-forme .NET encapsule une série d’objets hiérarchisés au sein d’un modèle. Chacun de ces objets permettent d’accéder aux fonctionnalités du système d’exploitation, de l’internet, etc. La plate-forme .NET contient l’ensemble des éléments requis pour programmer à l’aide de Visual Basic.NET.
La plate-forme .NET est neutre et n’est aucunement spécifique à aucun langage. Elle encapsule seulement une pluralité de fonctionnalités utilisables par différents langages. Ainsi, les langages Visual Basic, C++, C# et Jscript utilisent le même modèle d’objets que constitue la plate-forme .NET. Par exemple, si je désire afficher un texte à l’écran en mode console, j’utiliserai la fonction Console.WriteLine( )
Cependant, notez que le nom de la fonction et son utilisation demeure la même d’un langage de programmation à un autre. Ce comportement procure à la plate-forme .NET une force inestimable : elle est aisément programmable à l’aide de la majorité des langages existants à ce jour. Ainsi, la plate-forme .NET peut tolérer au-dessus d’une vingtaine de langages différents en incluant le COBOL, le Pascal, le Perl, le Python et le SmallTalk pour n’en nommer que quelques-uns.
Un autre avantage de l’indépendance de la plate-forme .NET face aux différents langages est que, tout programme écrit, peu importe le langage utilisé, sera dépendant d’une même série de fichiers systèmes nécessaires à l’exécution de ce programme. Auparavant, chacun des langages possédaient leurs fichiers dépendants qui devaient être installés sur la machine client avant de pouvoir être exécuté. Avec .NET, l’ensemble des langages partagent les mêmes fichiers qui sont inclus automatiquement au sein de Windows XP et le seront dans les versions ultérieures de Windows.
Finalement, la plate-forme .NET encapsule l’ensemble des fonctionnalités jadis disponibles individuellement au sein des outils de développement des versions 6.0 et antérieures de Visual Studio. La plate-forme .NET prévoit donc pour l’ensemble des langages .NET les fonctionnalités de la création de formulaires de Visual Basic 6.0, les fonctionnalités orientée-objets de Visual C++ 6.0 et les fonctionnalités Internet d’InterDev 6.0 réunis au sein d’un seul élément. Cette unification des technologies profite évidemment à Visual Basic : le programmeur VB peut désormais aisément créer des services NT, créer des sites web interactifs et transactionnels sans jamais quitter son langage préféré!
Fichiers d’exécution communs (Common Language Runtime)
Cet élément expose différentes fonctionnalités communes à l’ensemble des langages .NET. Cet élément de l’architecture .NET encapsule les fonctionnalités de débogage, de la gestion de la mémoire lorsque des classes et objets sont chargées et déchargées par l’application, de compilation, de gestion des Threads, de gestion du Marshalling entre divers composants, etc. Nous reviendrons au moment adéquat sur ces principes mais notez que cet élément est l’élément de base pour toute application conçue à l’aide de Visual Studio.NET, tous langages confondus.
Bibliothèque de classes .NET (.NET Framework Class Library)
Cet élément expose l’ensemble des classes utilisables par les différents langages .NET. Ces classes sont regroupées de manière thématique et permettent la manipulation du texte, des périphériques, du système d’exploitation, de la sécurité, etc. Ce sont les classes que vous serez le plus souvent appelé à utiliser en Visual Basic.NET.
ADO.NET
Cet élément expose l’ensemble des objets ADO (ActiveX Data Objects) permettant l’accès et la manipulation de jeux d’enregistrements provenant de bases de données Access, SQL Server, Oracle ou autres. Chacun des jeux d’enregistrements est doublé d’un équivalent XML permettant aux données d’être transmise au sein d’un protocole standard de modélisation des données.
ASP.NET
Cet élément expose l’ensemble des classes permettant la conception de pages et de services Web. Les fonctionnalités de l’ASP (Active Server Pages) à concevoir des sites web interactifs et transactionnels y sont encapsulées et sont accessibles par l’ensemble des langages .NET sous forme de services Web (Web Services).
Interface utilisateur (User Interface)
Cet élément expose l’ensemble des fonctionnalités permettant la conception d’interfaces Windows. Plusieurs fonctions qui n’étaient auparavant accessibles que par l’API sont intrinsèques à Visual Studio.NET et rendent donc Visual Basic plus puissant que jamais. Le modèle d’objets System.Drawing permet entre autres l’accès aux fonctionnalités GDI+ de dessin 2D et de manipulation graphique du texte.