Accueil
 COURS INFORMATIQUE
 Cours Algorithmique
 Cours ASP
 Cours CSS
 Cours HTML
 Cours PHP / MySQL
 Cours Réseaux
 Cours SQL
 Cours Visual Basic
 ARTICLES
  Conception de sites
  Droit & Internet
  e-commerce
  Société
  Strategies du web
  Technologies Web
  Marketing Web
 LIVRES
  ASP/ASP.Net
  C/C++/C#
  Conception de sites
  DHTML/CSS
  Gestion de Projet
  HTML/Internet
  Java/JSP/J2EE
  JavaScript/VbScript
  Juridique
  Marketing/Stratégie
  PHP/Linux/Unix
  Réseaux
  XML/XHTML/XSL
 NETALYA RECOMMANDE
Reussir un projet de site web

Cours Visual Basic N°8
Introduction à la POO

Auteur : Christophe Darmangeat Imprimer ce cours

Tout comme le chapitre précédent, ceci n’est qu’une rapide présentation, pas un cours technique - qui nous obligerait à consacrer un nombre très important d’heures, et on n’a pas le temps. Le but de cet exposé est de vous présenter en quelques mots, et de la manière la plus claire possible (donc la plus simple) ce qu’est sur le fond un langage objet, et de vous révéler les possibilités de VB en la matière.

Jusqu’à présent, nous avons écrit un certain nombre de programmes, exclusivement en utilisant des objets d’un type bien particulier appelés contrôles. Ces contrôles, nous les avons trouvés livrés en standard dans le logiciel VB. Cependant, vous savez sans doute d’ores et déjà que :

  • on peut charger des contrôles supplémentaires présents dans VB, mais non disponibles a priori (comme la Common Dialog, par exemple)
  • il existe sur le Net des quantités astronomiques de contrôles supplémentaires mis à disposition, gratuitement ou non, par des programmeurs VB.

Cependant, le propos ici n’est pas d’inventorier les autres contrôles existants (tâche impossible étant donné leur nombre sans cesse croissant). Il est de comprendre comment vous pouvez vous mêmes créer vos propres objets (qui seront ou non des contrôles).

L’idée fondamentale de la programmation objet, c’est que les processus informatiques (le programme) doivent être le plus possible un reflet des processus réels.

Pour cela, on va se donner des objets correspondant au plus près aux objets réels, en leur définissant des propriétés et des méthodes. Le programme n’aura ensuite plus qu’à utiliser ces propriétés et ces méthodes. Sur le fond, cela n’épargne pas particulièrement d’efforts de programmation par rapport à l’approche traditionnelle. Mais sur la forme, cela améliore énormément (quand c’est réussi) la lisibilité des applications.

Par exemple, imaginons une application gérant un service de paye. Dans une approche traditionnelle, nous aurions une base de données avec les employés. En cas d’arrivée d’un nouvel employé, on ferait saisir les informations, puis on écrirait un code qui recopie ces informations dans la base de données. En cas de mutation d’un employé, il faut là aussi un code qui recherche l’employé dans la base, et qui change le service auquel il appartient.

En POO, on définirait tout simplement un objet Employé. De nouveaux employés pouvant être ajoutés à la base, on aurait défini pour l’objet Employé une méthode ajouter. Un employé pouvant être muté, on aurait également défini une méthode muter et/ou une propriété service.

Ainsi, la mutation de l’employé pourrait s’écrire en VB :

Duchemin.Service = " Achats "

(pour peu que Duchemin soit le name d’un objet du type Employé)

De même, l’ajout d’un nouvel employé se traduirait par la création d’un nouvel employé appelé Bizuth, et son incorporation dans l’entreprise :

Dcl Bizuth as New Employé
( … )
Bizuth.Embaucher

A partir de là, un point de vocabulaire : en VB, on ne parle pas de " types " d’objets, mais de classes d’objets. Et l’endroit où l’on créée une nouvelle classe d’objets, c’est à dire un nouveau " moule à objets ", s’appelle un module de classe.

Autre chose : une fois la classe créée, on va donc générer des objets appartenant à cette classe. De tels objets sont baptisés par les programmeurs en mal de frime : instances de classe. Placez innocemment ce terme dans un dîner familial où la soupe est trop chaude, l’effet refroidissant est garanti.

Un module de classe, c’est donc un emplacement où on écrit du code VB, ce code ayant pour rôle de définir les propriétés et les méthodes d’une nouvelle classe d’objets. Dans l’application proprement dite, on pourra ensuite créer des objets appartenant à cette classe, exactement comme nous avions jusque-là créé des objets appartenant à des classes prédéfinies (liste, zone de texte, bouton, etc.). Et on pourra manipuler ces objets en utilisant les propriétés et les méthodes que nous avons nous-mêmes programmées dans le module de classe.

Pour mémoire, la tête générale d’un module de classe se présente comme une suite de procédures, tout comme traditionnellement le corps principal de nos applications VB. Mais ces procédures sont un petit peu particulières : ce seront des procédures de méthodes et des procédures de propriété.

Les procédures de méthodes ont une tête tout à fait classique : Public Sub Truc(), où Truc est une méthode qui s’appliquera à tout objet de la classe. Quant aux procédures de propriétés, on aura : Public Property Bidule(), où Bidule, vous vous en doutez, sera une propriété de tout objet de la classe.

Cette très brève présentation est encore une fois bien loin d’épuiser les aspects techniques du problème. Créer des classes n’a en soi rien de sorcier, mais cela demande tout de même une certaine compétence. Il faut faire des choix qui au départ apparaissent déroutants (Public ou Private, passage d’arguments par valeur ou par références, paramètres obligatoires ou optionnels, et autres subtilités du même acabit).

En plus de définir propriétés et méthodes de la classe, on peut également définir, mais oui, bien sûr, que manque-t-il… les événements. Ceci s’accomplira par l’instruction : RaiseEvent Chmoll, Chmoll étant le nom de l’événement (comme Click, DragOver, ou autres), et cette instruction figurant dans une procédure de propriété ou de méthode, lorsqu’on veut que le susdit événement (Event) soit généré (Raise).

Au passage, lorsqu’on veut disposer d’événements pour un objet, je signale que les choses se compliquent un peu : il faut déclarer les événements (Public Event), et dorénavant créer les nouveaux objets avec Dim WithEvents, et non plus New.

Bon, tout ça, c’est juste des pistes pour les ceusses qui auront envie de s’y frotter. Un bon manuel et surtout une infinie patience sont alors indispensables.

Nous vous informons que ce cours constitue une œuvre protégée en France par le Code de la Propriété Intellectuelle, et à l’étranger par les conventions internationales en vigueur sur le droit d’auteur. La violation de l’un des droits d’auteur de l’œuvre est un délit de contrefaçon. Il est donc interdit, à titre privé ou public, de reproduire, copier, vendre, revendre ou exploiter, que ce soit dans un but commercial ou purement gratuit, ce cours, sauf accord exprès et préalable de son auteur.


Google
 
 RESSOURCES GRATUITES
 Caractères spéciaux
 Code Couleurs HTML
 Générateur Méta Tags
 Références HTML
 Scripts : ASP
 Scripts : Java Scripts
 PRATIQUE / OUTILS
 Salons Informatiques
 Astuces Windows
 TÉLÉCHARGEMENTS
 Utilitaires système
 Logiciels pratiques
 Jeux & démos
 INFOS SITE
 Contacts
 Mentions légales
 Qui sommes-nous ?
 PARTENAIRES
 Jeux et Jouets
 Murielle Cahen
 Cours d'anglais
 Droit NTIC
 Directeur Internet
 Australie
 Création site Internet
 VOD News
 Web Hostings