Visual Basic .Net:Langage Objet
Un article de WikiTuto.
Sommaire |
Définition
Vous le savez sans doute déjà : VB.NET est un langage objet. Ce n'est pas le seul : C# (prononcez "cécharpe"), C++ ou Java sont eux aussi des langages objets. Ce type de langage, apparu dans les années 1990, s'oppose en particulier aux langages de la génération précédente, qui étaient dits "procéduraux" (comme le Cobol, le Fortran, le Pascal, le Langage C et bien d'autres, on ne va pas tous les citer, on n'a pas que cela à faire non plus).
La première chose à dire des langages objet, c'est qu'ils permettent de faire tout, absolument tout, ce qu'on pouvait faire avec un langage procédural.
Donc, et c'est la bonne nouvelle du jour, rien de ce que vous avez appris n'est perdu ! Les langages objet, comme leurs ancêtres les langages procéduraux, manipulent des variables, des tableaux et des structures, et organisent des instructions d'affectation, d'entrée-sortie, de tests ou de boucles dans des procédures et des fonctions. Donc, à la limite, on peut (presque) programmer en langage objet comme on programmait en langage procédural. Mais évidemment, dans ce cas, on passe à côté de ces petits riens que les langages objet possèdent en plus, petits riens qui vont nous changer la vie...
Remarque
- S'il y a quelque chose que vous ne comprenez pas dans le paragraphe qui précède, c'est vraisemblablement que vous avez doublement brûlé les étapes.
- D'une part, en voulant apprendre VB.NET sans avoir appris l'algorithmique.
- D'autre part, en n'ayant pas lu assez attentivement les Préambules nécessaires (ce qui n'est pas bien) ou en les ayant lu, et en choisissant de les ignorer (ce qui est encore pire).
- Dans les deux cas, vous n'échapperez pas à un retour par la case départ, et vous ne touchez pas 20 000 F.
Reprenons. Les langages objet, tout en intégrant l'ensemble des capacités des langages procéduraux, possèdent deux aptitudes supplémentaires, aptitudes liées mais distinctes. Ces langages peuvent en effet :
- gérer, en plus des variables, des choses appelées objets.
- exploiter, via certains de ces objets, l'interface graphique de Windows.
On verra plus tard que par contamination, les langages objet ont tendance à tout assimiler à des objets, même des choses qui n'en sont pas spécialement, comme les bonnes vieilles variables de notre enfance. Mais n'anticipons pas, et examinons tout d'abord les deux points ci-dessus plus en détail.
Qu'est-ce qu'un objet ? Parlons comme les gens normaux
Dans la vie de tous les jours, nous sommes entourés d'objets. Certains très simples, comme un peigne, un bouton de culotte ou une matraque de CRS. D'autres très complexes comme une automobile ou une navette spatiale. Pour faire l'analogie avec les objets des langages objet, mieux vaut penser à un objet un peu compliqué qu'à un objet trop simple. Et pour cette analogie, rien ne nous oblige à penser à un objet inanimé. Des plantes, des animaux ou des êtres humains peuvent tout à fait être assimilés aux objets que manipulent les langages.
Dans les objets, il y a deux sortes de choses qui intéressent les informaticiens.
- ils ont des caractéristiques (une couleur, une taille, un poids, un compte en banque, un nombre de pattes, bref, que sais-je encore). Un objet très simple peut avoir une seule caractéristique (voir aucune, mais là, on peut raisonnablement se demander s'il existe - je laisse cette question aux philosophes désoeuvrés). Un objet complexe peut avoir des centaines, voire des milliers de caractéristiques.
- ils peuvent accomplir certaines tâches, ou subir certaines modifications : pour une automobile, on peut ouvrir une porte, démarrer le moteur, freiner, accélérer, etc. Pour un chat, on peut le caresser, le faire marcher, le faire courir, le faire miauler, le faire cuire, etc. Pour un employé, on peut le changer de poste, de qualification, l'augmenter (c'est rare), le licencier (c'est fréquent), etc.
Tous les objets possédant les mêmes caractéristiques et avec lesquels on peut faire les même choses forment un groupe qu'on appelle en informatique une classe. Par exemple, tous les chiens ont une couleur de pelage, une taille, un poids, etc. Ils peuvent tous aboyer, courir, sauter, etc. Même si chacune de ces aptitudes est différente d'un chien à l'autre, et même si le chihuahua de ma cousine est assez différent du rottweiler de mon voisin, ces deux bestioles ont en commun de posséder certaines caractéristiques et de pouvoir effectuer certaines actions. Ils font donc partie d'une classe unique que j'appelle "les chiens", même si d'un chien à l'autre, et ma cousine en sait quelque chose lorsqu'elle croise mon voisin, la taille et le poids (entre autres) ne sont pas les mêmes.
En prenant le problème à l'envers : si je définis une classe par l'ensemble de ses caractéristiques et de ses actions, je peux, à partir de cette classe, fabriquer tout plein de toutous différents les uns des autres, mais qui auront en commun d'être tous des chiens (donc, répétons-le, des êtres qui partageront les mêmes caractéristiques et qui seront capables des mêmes actions).
Eh bien, les langages objet, ce sont des langages qui permettent, en plus des traditionnels variables, tableaux et structures, de gérer et de manipuler des objets (donc des classes). C'est-à-dire que ces langages permettent notamment :
- de créer des classes, en définissant leurs caractéristiques et leurs actions
- de fabriquer des objets à partir de ces classes
- de manipuler les caractéristiques individuelles de chacun de ces objets, et de leur faire accomplir les actions dont leur classe est capable.
Tout ce que nous avons vu là peut être traduit dans des termes techniques propres aux informaticiens.
Qu'est-ce qu'un objet ? Parlons comme les informaticiens
Nous savons que tout programme informatique a pour but de manipuler des informations. Et nous savons que ces informations relèvent toujours, au bout du compte, de l'un des trois grands types simples : numériques, caractères (alphanumériques), ou booléennes.
Lorsque nous disons qu'un objet (ou une classe) possède des caractéristiques comme la taille, le poids, la couleur, etc., nous disons en fait qu'un objet (ou une classe) regroupe un certain nombre de variables : une variable numérique pour stocker le poids, une autre variable pour stocker la taille, une variable caractère pour stocker la couleur, etc.
Donc, première chose, un objet regroupe un ensemble de variables qui peuvent être de différents types. Et dans ce cas, on ne parlera pas des "variables" d'un objet, ni des ses "caractéristiques", mais de ses propriétés.
Définition de propriété
- Une propriété d'un objet est une des variables (typée) associées à cet objet.
Théorème
- Par conséquent, toute instruction légitime avec une variable est légitime avec une propriété d'un objet. Et lycée de Versailles, tout ce qui n'avait pas de sens avec une variable n'a pas non plus de sens avec une propriété d'un objet.
Jusqu'à maintenant, allez vous dire, nous n'avons fait que faire de la mousse avec du vocabulaire nouveau autour d'une notion que nous connaissons déjà comme notre poche. Parce qu'enfin, quoi, un bidule constitué de différentes variables de différents types, on n'a pas attendu les objets pour en avoir. Tous les langages procéduraux connaissent cela, mis à part qu'on ne parle pas de classe mais de structure, qu'on ne parle pas d'objets, mais de variables structurées, et qu'on ne parle pas de propriétés, mais de champs. Mais pour le reste, c'est tutti quanti et du pareil au même.
Les esprits chagrins qui feraient cette remarque auraient parfaitement raison... si les objets n'étaient effectivement qu'un ensemble de caractéristiques (de propriétés). Mais les objets, comme nous l'avons vu, ne sont pas que cela : ils incluent également, comme on l'a vu, des actions possibles. Autrement dit, un objet (une classe) est un assemblage d'informations (les propriétés) mais aussi d'instructions (les actions, que l'on appelle les méthodes). C'est en particulier cette présence des méthodes qui différencie une classe d'une simple structure, et un objet d'une simple variable structurée.
Définition de méthode
- Une méthode est un ensemble d'instructions (de lignes de codes) associées à un objet.
Théorème
- Un objet est un assemblage d'informations et d'instructions. Autrement dit, c'est une variable structurée plus des méthodes.
Voir aussi
- Retour au sommaire
- Définition du langage Objet
- La syntaxe objet
- La programmation événementielle
Source : Christophe Darmangeat



