Programmation Orientée Objet Dans Visual Basic

3y ago
38 Views
2 Downloads
478.25 KB
118 Pages
Last View : 15d ago
Last Download : 3m ago
Upload by : Luis Wallis
Transcription

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicProgrammation orientée objet dansVisual BasicLes objets jouent un rôle central dans la programmation Visual Basic. Lesformulaires et les contrôles sont des objets, ainsi que les bases de données. Sivous avez utilisé un peu Visual Basic ou si vous avez utilisé les exemples de cefichier d'aide, vous avez déjà programmé des objets. Mais vous pouvez utiliserles objets différemment de ce que vous avez déjà appris jusqu'ici.Dans les rubriques suivantes, vous pourrez constater qu'il est facile de créer vosobjets personnels depuis les classes que vous définissez. Vous verrez égalementcomment utiliser des objets pour simplifier le codage et augmenter laréutilisation du code.Dans cette sectionIntroduction aux objets dans Visual BasicFournit une introduction aux termes et aux concepts utilisés dans laprogrammation orientée objet.Liaison anticipée et liaison tardiveDécrit la liaison effectuée par le compilateur lorsqu'un objet est assigné àune variable objet et les différences entre des objets à liaison anticipéeet à liaison tardive.Membres partagésDécrit les membres pouvant être utilisés sans instances.Création et utilisation d'objetsExplique comment créer et utiliser des instances de classes.Gestion de groupes d'objetsFournit des techniques de travail sur les tableaux et les collectionsd'objetsObtention d'informations sur la classe au moment de l'exécutionExplique comment déterminer la classe à laquelle appartient un objet.Présentation des classesPrésente des instructions détaillées sur la création d'objet et lesproblèmes de durée de vie.Evénements et déléguésIllustre la déclaration et l'utilisation des événements et des délégués.Interfaces dans Visual Basic .NETDéfinit les interfaces et présente leur utilisation dans vos applications.Héritage14/01/2007Page : 1

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicExplique comment définir des classes servant de base à d'autres classes.Rubriques connexesObjets Définit les objets et présente leur utilisation.Programmation à l'aide de composants :Explique comment utiliser Visual Basicpour contrôler des objets fournis par d'autres applications.14/01/2007Page : 2

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicIntroduction aux objets dansVisual BasicVoir aussiObjets Création et utilisation d'objets Classes : modèles d'objets Héritage Propriétés et méthodes surchargées Substitution de propriétés et deméthodes OccultationLa plupart des opérations effectuées dans Visual Basic impliquent des objets. Sivous n'êtes pas familiarisé avec la programmation orientée objet, les termes etles concepts suivants vont vous aider à démarrer.Classes et objetsLes termes « classe » et « objet » sont tellement utilisés dans la programmationorientée objet qu'ils peuvent être facilement confondus. En règle générale, uneclasse est une représentation abstraite de quelque chose, tandis qu'un objet estun exemple utilisable de ce que représente la classe. La seule exception à cetterègle concerne les membres de classe partagés, qui peuvent être utilisés dans lesinstances d'une classe et dans les variables d'objet déclarées comme le type dela classe.Champs, propriétés, méthodes et événementsLes classes se composent de champs, de propriétés, de méthodes etd'événements. Les propriétés et les champs sont des informations contenuesdans un objet. Les champs sont similaires aux variables car ils peuvent être lusou définis directement. Par exemple, si vous possédez un objet intitulé « Car »,vous pouvez stocker sa couleur dans un champ nommé « Color ».Les propriétés sont extraites et définies comme des champs mais sontimplémentées via les procédures Property Get et Property Set, qui contrôlentdavantage la façon dont les valeurs sont définies ou retournées. La couched'adressage entre la valeur stockée et les procédures qui utilisent cette valeurvous aide à isoler vos données et vous permet de valider les valeurs avantqu'elles soient attribuées ou extraites.Les méthodes représentent des actions que peut effectuer un objet. Parexemple, un objet « Car » peut avoir des méthodes « StartEngine », « Drive » et14/01/2007Page : 3

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual Basic« Stop ». Pour définir des méthodes, ajoutez des procédures (des fonctions oudes routines Sub) à votre classe.Les événements vous informent lorsqu'un objet est reçu d'autres applications outransmis à celles-ci. Les événements permettent aux objets d'effectuer desactions lorsqu'une occurrence spécifique se produit. Un exemple d'un événementde la classe « Car » est un événement « Check Engine ». Dans la mesure oùMicrosoft Windows est un système d'exploitation piloté par événements, lesévénements peuvent provenir d'autres objets, applications ou actions del'utilisateur (par exemple, lorsqu'il clique sur la souris ou appuie sur une touche).Encapsulation, héritage et polymorphismeLes champs, les propriétés, les méthodes et les événements ne représentent quela moitié de l'équation de la programmation orientée objet. La programmationorientée objet réelle nécessite que les objets prennent en charge trois qualités :l'encapsulation, l'héritage et le polymorphisme.L'encapsulation signifie qu'un groupe de propriétés, méthodes et autresmembres liés est traité comme une unité ou un objet unique. Les objets peuventcontrôler la façon dont les propriétés sont modifiées ou la façon dont lesméthodes sont exécutées. Par exemple, un objet peut valider des valeurs avantd'autoriser des modifications de propriété. L'encapsulation facilite également lamodification ultérieure de votre implémentation en vous permettant de masquerles détails d'implémentation de vos objets ; cette méthode est connue sous lenom de masquage des données.L'héritage décrit la possibilité de créer de nouvelles classes en fonction d'uneclasse existante. La nouvelle classe hérite de toutes les propriétés, desméthodes et des événements de la classe de base et peut être personnaliséeavec des propriétés et des méthodes supplémentaires. Par exemple, vous pouvezcréer une nouvelle classe intitulée « Truck » basée sur la classe « Car ». Laclasse « Truck » hérite de la propriété « Color » de la classe « Car » et peutcomporter des propriétés supplémentaires telles que « FourWheelDrive ».Le polymorphisme signifie que plusieurs classes peuvent être utilisées de manièreinterchangeable, même si chacune des classes implémente les mêmes propriétéset méthodes de manière différente. Le polymorphisme est primordial dans laprogrammation orientée objet car il vous permet d'utiliser des éléments portantle même nom, quel que soit le type d'objet utilisé actuellement. Pour une classede base « Car » par exemple, le polymorphisme permet au programmeur dedéfinir plusieurs méthodes « StartEngine » pour tout nombre de classes14/01/2007Page : 4

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual Basicdérivées. La méthode « StartEngine » d'une classe dérivée appelée « DieselCar »peut être totalement différente de la méthode portant le même nom dans laclasse de base. D'autres procédures ou méthodes peuvent utiliser la méthode« StartEngine » des classes dérivées exactement de la même façon, quel que soitle type d'objet « Car » utilisé simultanément.Surcharge, substitution et occultationLa surcharge, la substitution et l'occultation sont des concepts similairespouvant être facilement confondus. Même si ces trois techniques vouspermettent de créer des membres portant le même nom, elles présententd'importantes différences. Les membres surchargés sont utilisés pour fournir des versionsdifférentes d'une propriété ou d'une méthode portant le même nom, maisqui acceptent divers nombres ou paramètres ou des paramètres de diverstypes de données.Les propriétés ou les méthodes substituées permettent de remplacer unepropriété ou une méthode héritée qui n'est pas adaptée dans une classedérivée. Les membres substitués doivent accepter le même type dedonnées ainsi que le même nombre d'arguments. Les classes dérivéeshéritent des membres substitués.Les membres occultés permettent de remplacer localement un membredont la portée est plus vaste. Tout type peut occulter un autre type. Parexemple, vous pouvez déclarer une propriété qui occulte une méthodehéritée du même nom. Les membres occultés ne peuvent pas être hérités.Liaison anticipée et liaison tardiveLe compilateur Visual Basic exécute un processus appelé liaison quand un objetest assigné à une variable objet. Un objet est à liaison anticipée lorsque cetobjet est assigné à une variable déclarée comme étant d'un type d'objetspécifique. Les objets à liaison anticipée permettent au compilateur d'allouer dela mémoire et d'effectuer d'autres optimisations avant l'exécution d'uneapplication. Par exemple, le fragment de code suivant déclare une variable commeétant du type FileStream :14/01/2007Page : 5

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual Basic' Add Imports statements to the top of your file.Imports System.IO'.' Create a variable to hold a new object.Dim FS As FileStream' Assign a new object to the variable.FS New FileStream("C:\tmp.txt", FileMode.Open)Etant donné que FileStream est un type d'objet spécifique, l'instance assignée àFS fait l'objet d'une liaison anticipée.Par opposition, un objet est à liaison tardive lorsque cet objet est assigné à unevariable déclarée comme étant du type Object. Les objets de ce type peuventcontenir des références à n'importe quel objet, mais ne présentent pas nombredes avantages des objets à liaison anticipée. Par exemple, le fragment de codesuivant déclare une variable objet qui doit contenir un objet retourné par lafonction CreateObject :' To use this example, you must have Microsoft Excel installed on your computer.Option Strict Off ' Option Strict Off allows late binding.Sub TestLateBinding()Dim xlApp As ObjectDim xlBook As ObjectDim xlSheet As ObjectxlApp CreateObject("Excel.Application")'Late bind an instance of an Excel workbook.xlBook xlApp.Workbooks.Add'Late bind an instance of an Excel worksheet.xlSheet ication.Visible True ' Show the application.' Place some text in the second row of the sheet.xlSheet.Cells(2, 2) "This is column B row 2"End SubVous devez utiliser des objets à liaison anticipée chaque fois que cela estpossible, car ils permettent au compilateur d'effectuer d'importantesoptimisations, avec pour résultat des applications plus efficaces. Ils sontbeaucoup plus rapides que les objets à liaison tardive et facilitent la lecture et lagestion du code en indiquant avec exactitude les types d'objets utilisés. Laliaison anticipée présente également l'avantage d'activer des fonctionnalitésutiles, telles que la saisie semi-automatique du code et l'Aide dynamique, carl'environnement de développement intégré (IDE, Integrated DevelopmentEnvironment) Visual Studio .NET peut déterminer avec précision le type d'objetutilisé lorsque vous modifiez le code. Elle réduit le nombre et la gravité des14/01/2007Page : 6

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual Basicerreurs d'exécution en permettant au compilateur de signaler les erreurs lors dela compilation d'un programme.Remarque La liaison tardive peut seulement être utilisée pouraccéder aux membres de type déclarés comme Public. L'accès auxmembres déclarés comme Friend ou Protected Friend entraîne uneerreur d'exécution.Object, type de donnéesLes variables Object sont stockées sous la forme d'adresses 32 bits (4 octets)qui font référence à des objets. Vous pouvez assigner un type référence (chaîne,tableau, classe ou interface) à une variable déclarée comme un Object.Une variable Object peut également faire référence à des données de tout typevaleur (numérique, Boolean, Char, Date, structure ou énumération).Remarque Même si une variable déclarée avec le type Object estsuffisamment flexible pour contenir une référence à un objet,l'appel à une méthode d'une instance utilisant une variable Objectest toujours à liaison tardive (au moment de l'exécution). Pourforcer une liaison anticipée (au moment de la compilation), assignezla référence d'objet à une variable déclarée avec un nom de classespécifique ou castée en un type de données spécifique.Le type de données .NET équivalent est System.Object.CreateObject, fonctionCrée et retourne une référence à un objet COM. La fonction CreateObject nepeut être utilisée pour créer des instances de classes dans Visual Basic que sices classes sont exposées explicitement en tant que composants COM.Public Shared Function CreateObject(ByVal ProgId As String,Optional ByVal ServerName As String "") As Object14/01/2007Page : 7

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicParamètresProgIdRequis. String. L'ID de programme de l'objet à créer.ServerNameFacultatif. String. Nom du serveur réseau où l'objet sera créé. SiServerName est une chaîne vide (""), l'ordinateur local est utilisé.Exceptions/ErreursType d'exceptionNuméro de l'erreurConditionException429ProgId est introuvable ounon spécifié.Exception462Le serveur est indisponible.FileNotFoundException53Aucun objet du typespécifié n'existe.NotesPour créer une instance d'un composant COM, assignez l'objet retourné par lafonction CreateObject à une variable objet :xlApp CreateObject("Excel.Application")Le type de la variable objet que vous utilisez pour stocker l'objet retourné peutaffecter les performances de vos applications. La déclaration d'une variableobjet avec la clause As Object crée une variable pouvant contenir une référenceà n'importe quel type d'objet. Cependant, l'accès à l'objet par l'intermédiaire decette variable est effectué par une liaison tardive, c'est-à-dire que la liaison estcréée lors de l'exécution de votre programme. De nombreuses raisons militentcontre la liaison tardive, parmi lesquelles le ralentissement de l'exécution del'application. Pour créer une variable objet qui entraîne une liaison anticipée,c'est-à-dire une liaison qui survient au moment de la compilation du programme,ajoutez une référence à la bibliothèque de types de votre objet à partir del'onglet COM de la boîte de dialogue Ajouter une référence dans le menu Projetet déclarez la variable objet avec le type spécifique de votre objet. Par exemple,vous pouvez déclarer et créer les références Microsoft Excel suivantes :Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetxlApp CreateObject("Excel.Application")14/01/2007Page : 8

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicLa référence par une variable à liaison anticipée peut offrir de meilleuresperformances, mais ne peut contenir qu'une référence à la classe spécifiée dansla déclaration.Un autre problème est que les objets COM utilisent un code non managé, un codesans l'avantage du Common Language Runtime. Le mélange de code managéVisual Basic .NET et de code non managé COM implique un certain degré decomplexité. Quand vous ajoutez une référence à un objet COM, une rechercheest effectuée pour un assembly d'interopérabilité prédéfini pour cettebibliothèque ; si un assembly est trouvé, il est alors utilisé. Si aucun assemblyn'est trouvé, vous avez la possibilité de créer un assembly d'interopérabilitélocal qui contient les classes d'interopérabilité locales pour chaque classe de labibliothèque COM.Vous pouvez créer un objet sur un ordinateur réseau distant en passant le nomde l'ordinateur à l'argument ServerName de la fonction CreateObject. Ce nomest identique à une partie du nom de l'ordinateur partagé : pour un nom departage « \\MyServer\Public », ServerName est « MyServer ».Remarque Consultez la documentation COM (voir MicrosoftDeveloper Network) pour plus d'informations sur la manière derendre visible une application à partir d'un ordinateur connecté àdistance au réseau. Il sera nécessaire, le cas échéant, d'ajouter uneclé de Registre pour votre application.Le code suivant retourne le numéro de version d'une instance d'Excels'exécutant sur un ordinateur distant appelé MyServer :Dim xlApp As Object' Replace string "\\MyServer" with name of the remote computer.xlApp CreateObject("Excel.Application", "\\MyServer")MsgBox(xlApp.Version)Si le nom du serveur distant est incorrect, ou si le serveur n'est pas disponible,une erreur se produit au moment de l'exécution.Remarque Utilisez CreateObject lorsqu'il n'existe aucune instanceen cours de l'objet. S'il en existe une, une nouvelle instance estlancée et un objet du type spécifié est créé. Pour utiliser l'instanceen cours ou pour lancer l'application en chargeant un fichier,utilisez la fonction GetObject. Si un objet s'est inscrit commeobjet à instance unique, une seule instance de l'objet est créée,quel que soit le nombre d'exécutions de la fonction CreateObject.14/01/2007Page : 9

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicExempleCet exemple utilise la fonction CreateObject pour définir une référence (xlApp)à Microsoft Excel. Il utilise la référence pour accéder à la propriété Visible deMicrosoft Excel, puis utilise la méthode Quit de Microsoft Excel pour fermercette application. Enfin, la référence elle-même est libérée.Sub TestExcel()Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetxlApp CType(CreateObject("Excel.Application"), Excel.Application)xlBook CType(xlApp.Workbooks.Add, Excel.Workbook)xlSheet CType(xlBook.Worksheets(1), Excel.Worksheet)' Place some text in the second row of the sheet.xlSheet.Activate()xlSheet.Cells(2, 2) "This is column B row 2"' Show the sheet.xlSheet.Application.Visible True' Save the sheet to C:\test.xls directory.xlSheet.SaveAs("C:\Test.xls")' Optionally, you can call xlApp.Quit to close the work sheet.End SubGetObject, fonctionRetourne une référence à un objet fourni par un composant COM.Public Function GetObject(Optional ByVal PathName As String Nothing,Optional ByVal Class As String Nothing) As ObjectParamètresPathNameFacultatif ; String. Chemin d'accès complet et nom du fichier contenantl'objet à extraire. Si l'argument pathname est omis, l'argument class estrequis.ClassFacultatif ; String. Chaîne représentant la classe de l'objet.L'argument Class emploie la syntaxe et les paramètres suivants :appname.objecttype14/01/2007Page : 10

Ce document a été fabriqué parPDFmail (Copyright RTE Multimedia)http://www.pdfmail.comProgrammation orientée objet dans Visual BasicParamètres ClassappnameRequis ; String. Nom de l'application qui fournit l'objet.objecttypeRequis ; String. Type ou classe de l'objet à créer.Exceptions/ErreursType d'exceptionNuméro de l'erreurConditionException429Aucun objet avec le chemind'accès spécifié n'existe.FileNotFoundException432Aucun objet du typespécifié n'existe.NotesUtilisez la fonction GetObject pour charger une instance d'un composant COM àpartir d'un fichier. Exemple :Dim CADObject As ObjectCADObject GetObject("C:\CAD\SCHEMA.CAD")Lorsque ce code est exécuté, l'application associée à l'argument pathnamespécifié est lancée et l'objet contenu dans le fichier indiqué est activé.Si PathName est une chaîne de longueur nulle (""), la fonction GetObjectretourne une nouvelle instance d'objet du type spécifié. Si l'argument P

Programmation orientée objet dans Visual Basic _ 14/01/2007 Page : 1 Programmation orientée objet dans Visual Basic Les objets jouent un rôle central dans la programmation Visual Basic. Les formulaires et les contrôles sont des objets, ainsi que les bases de données. Si

Related Documents:

Cours c et programmation orientée objet Programmation orientée objet 3 UMMTO Apparu dans les années 60s au sein de MIT Offre une grande souplesse de travail maintenance aisée Objet en programmation objet dans le monde réel Objet propriétés (attributs ) actions (méthodes ) Objet en C Structure de données (objet simple ) Classe

La programmation objets expliquée aux programmeurs Si vous êtes programmeur, mais habitué aux langages de programmation "procéduraux" (pascal, fortran, C, perl, etc.), ce chapitre est pour vous: il essaie d'expliquer comment on peut passer de la programmation procédurale à la programmation objet, via la programmation structurée.

34 Programmation objet 34.1 Programmation objet 34.2 Mot clé new 34.3 Object methods and fields 34.4 Function et prototype 34.5 mot clé this 34.6 paradigme de programmation classe/objet 35 Notation JSON 35.1 Tableau 35.2 Objet 35.3 Imbrications 35.4 Voir aussi 36 Ajax 36.1 Ajax : comment créer un sommaire 36.1.1 Intérêt de l'utilisation d .

La programmation oriente objet(POO) I. La programmation orientée objet La programmation orientée objets (POO) est une technique d'organisation du code d'un programme en le groupant en objets, les objets étant ici des éléments individuels comportant des informations (valeurs de données) et des fonctionnalités. L'approche orientée objet .

Programmation Orientée Objet Java Enseignant : Ramzi Mahmoudi mahmoudr@esiee.fr Année Universitaire: 2012/2013. Plan des chapitres 1. Introduction 2. Les bases du langage 33. La Programmation Objet avec Java 2 44. Des concepts avancés de la programmation orientée objet Java 55. Les classes de base

LA PROGRAMMATION OBJET EN JAVA Michel Divay M. DIVAY IUT BTS Licence Écoles d'ingénieurs LA PROGRAMMATION OBJET EN JAVA Michel Divay COURS 9 782100 496976 ISBN 2 10 049697 2 LA PROGRAMMATION OBJET EN JAVA www.dunod.com Ce livre s'adresse aux étudiants en IUT, BTS, licences et écoles d'ingénieurs des filières informatiques.

Programmation orientée objet dans Java 1. Introduction La programmation orientée objet existe depuis 1967 (date d’apparition du langage Simula ’67). Cependant, elle n’est vraiment devenue un des paradigmes de la programmation qu’au milieu des années 1980.

opinions about the courts in a survey conducted by the National . criminal justice system, and that black women are imprisoned at a rate seven times greater than white women. The report indicates there has been an increase in their incarceration rate in excess of 400% in recent years. Further, three-fourths of the women, according to the report, were mothers, and two-thirds had children .