Accueil > Forum > > > > Construire une class dependant d'un autre
Construire une class dependant d'un autre
mardi 7 août 2007 à 22:06:32 |
Construire une class dependant d'un autre

Myke
|
J'aimearis avoir un exemple de class dependante. Comment peux on acceder au information de la class supérieur commeles variable ? Est-ce que les class imbriqué sont la solution ?
|
|
mercredi 8 août 2007 à 01:57:05 |
Re : Construire une class dependant d'un autre

avelone
|
T'entend quoi par classe supérieur, une classe parent que tu viens d'hériter si c'est le cas tu dois avoir dans un projet par exemple une classe dans une nouvelle classe. Je vais te donner un exemple de classe hériter en te présentant une classe compteBancaire qui contient quelque information d'un compte : Public Class CompteBancaire 'Déclaration de variables protected pouvant être lu par les 'classes dérivés et cette classe seulementProtected aNo AsIntegerProtected aProprietaire AsStringProtected aBalance AsDouble = 0PublicSubNew()EndSub'Constructeur avec paramètrePublicSubNew(ByVal paramNo AsInteger, ByVal paramProprio AsString, ByVal paramBalance AsDouble)aNo = paramNo aProprietaire = paramProprio aBalance = paramBalance EndSub'Propriétés publique pour accéder aux valeurs des variables et'pour setter des valeurs aux variablesPublicProperty no() AsInteger Get Return aNoEndGetSet(ByVal Value AsInteger)aNo = Value EndSetEndPropertyPublicProperty proprietaire() AsString Get Return aProprietaireEndGetSet(ByVal Value AsString)aProprietaire = Value EndSetEndProperty PublicReadOnlyProperty balance() AsDouble Get Return aBalanceEndGetEndProperty'Exemple d'un sub qui permettrait de retirer de l'argent au comptePublicSub retirer(ByVal paramMontant AsDouble)aBalance -= paramMontant EndSub'Overridables permet de pouvoir modifier le sub dans les'classe dérivésPublicOverridableSub deposer(ByVal paramMontant AsDouble)aBalance += paramMontant EndSubEnd ClassVoilà maintenant une classe dérivé qui hérite de cette classe parent qui est donc un compte bancaire, mais disons que pour l'exemple, ce compte bancaire possède un bonus qui est incrémenter de 10 points pour chaque dépot de 100$, c'est une exemple, alors, on peut hériter de compte bancaire pour reprendre ce que la classe possède déjà afin de ne pas réinventer la roue et créer le bonus en supplément dans cette classe, la classe aura accès à tous les attributs de la classe parent ainsi qu'aux méthodes (bien sur, si l'attribut est privé on ne pourra pas le voir) : Public Class CompteBancaireBonus Inherits CompteBancairePrivate aBonus AsIntegerPublicSubNew()EndSub'Constructeur avec tous les paramètres comme dans celui plus haut, mais avec compte bancaire en supplémentPublicSubNew(ByVal paramNo AsInteger, ByVal paramProprio AsString, ByVal paramBalance AsDouble, ByVal paramNbBonus AsInteger)aNo = paramNo aProprietaire = paramProprio aBalance = paramBalance aBonus = paramNbBonus EndSub'Nouvelle propriété, pas obligé de créer les autres, ils ont déjà été créé dans la classe parentPublicProperty bonus() AsInteger Get Return aBonusEndGetSet(ByVal Value AsInteger)aBonus = Value EndSetEndProperty'On modifie la méthode deposer pour ajouter 10 dans les bonus à'chaque fois que l'usager dépose plus de 100 $'C'est un exemple pour modifier une classe parent'avec le mot clé "Overrides"PublicOverridesSub deposer(ByVal paramMontant AsDouble) 'Permet d'aller chercher ce qui a déjà été créé dans la classe parentMyBase.deposer(paramMontant)If paramMontant > 100 ThenaBonus += 10 EndIf EndSub
EndClass
|
|
mercredi 8 août 2007 à 02:20:31 |
Re : Construire une class dependant d'un autre

avelone
|
Si tu désires accéder à des variables et des méthodes d'un autre projet que tu as créé, tu dois le compiler et prendre la dll obtenu dans le fichier bin. Ensuite, tu peux ajouter une référence dans ton nouveau projet sur la dll obtenu dans le fichier bin. Ensuite, tu peux utiliser toutes les fontions et les variables publiques qui s'y trouve.
Sinon, si tu veux accéder à une variable ou méthode dans une classe du même projet sans effectuer d'héritage comme j'ai fais plus haut, tu n'as qu'à instancier une nouvelle instance de cette classe et ensuite tu pourra la manipuler comme instance de la classe désirée. Tu pourra donc lui attribué les valeur défini dans ton autre classe ainsi qu'atteindre les méthodes
Exemple : Dans mon exemple, j'ai créér 2 projets sous la même solution pour te donner un exemple de faire une importattion de projet sous une même solution.
Donc, mes classes compteBancaire et compteBancaireBonus se trouve dans la librairie : ClassLibrary1. Je dois donc l'importer pour pouvoir créer des instances de classe que je pourrai manipuler :
'J'importe ma ClassLibrary1 qui contient les classes Imports ClassLibrary1
Public Class Exemple 'je crée un instance de compteBancaire que j'instancie immédiatement Private cb As CompteBancaire = New CompteBancaire 'je crée un instance de compteBancaire que je vais instancier plus 'tard à titre d'exemple Private cbBonus As CompteBancaireBonus
Public Sub attribuerValeur() 'J'attibue mes valeurs à compteBancaire en utilisant 'les méthodes créées dans la classe CompteBancaire cb.no = 1 cb.proprietaire = "unNom" 'J'utilise une méthode de la classe CompteBancaire cb.deposer(100)
'J'instancie CompteBancaireBonus cbBonus = New CompteBancaireBonus 'J'attibue mes valeurs à compteBancaireBonus en utilisant 'les méthodes créées dans la classe CompteBancaireBonus cbBonus.no = 2 cbBonus.proprietaire = "riche" 'J'utilise une méthode de la classe CompteBancaireBonus cbBonus.deposer(200) End Sub End Class
|
|
mercredi 8 août 2007 à 02:24:07 |
Re : Construire une class dependant d'un autre

avelone
|
Désolé pour la lisibilité, je reprend : 'J'importe ma ClassLibrary1 qui contient les classes Imports ClassLibrary1 Public Class Exemple 'je crée un instance de compteBancaire que j'instancie imm,diatement Private cb As CompteBancaire = New CompteBancaire 'je crée un instance de compteBancaire que je vais instancier plus 'tard . titre d'exemple Private cbBonus As CompteBancaireBonus Public Sub attribuerValeur() 'J'attibue mes valeurs . compteBancaire en utilisant 'les méthodes créées dans la classe CompteBancaire cb.no = 1 cb.proprietaire = "unNom" 'J'utilise une méthode de la classe CompteBancaire cb.deposer(100) 'J'instancie CompteBancaireBonus cbBonus = New CompteBancaireBonus 'J'attibue mes valeurs . compteBancaireBonus en utilisant 'les méthodes créées dans la classe CompteBancaireBonus cbBonus.no = 2 cbBonus.proprietaire = "riche" 'J'utilise une méthode de la classe CompteBancaireBonus cbBonus.deposer(200) End SubEnd Class
|
|
mercredi 8 août 2007 à 16:10:45 |
Re : Construire une class dependant d'un autre

Myke
|
Ce n'est pas exactement ce que je veux faire. Example : PublicClassMain Private _UserId As Integer Public Sub New ( ByVal Par AsInteger ) .... EndSub Public ReadOnly Property Nested() Get Return New NestedClass End Get End Property REM - Class Nested Friend Class NestedClass Public Sub GetElement() .... End Sub End Class End Class Dans ce cas les deux class sont imbriqué il y a-t-il un moyen de remonter la hiéarchie pour accéder à la variable userId à partir de la class NestedClass ???
Myke
|
|
mercredi 8 août 2007 à 18:03:20 |
Re : Construire une class dependant d'un autre

avelone
|
Selon ton exemple, il y aurait moyen d'insatncier une nouvelle classe Main et d'aller chercher les valeur de la variable en ajoutant un accesseur dans la classe Main, soit une property : Public Class Main Private aUserId AsIntegerPublicSubNew(ByVal Par AsInteger)EndSubPublicReadOnlyProperty Nested() Get ReturnNew NestedClassEndGetEndProperty'Ajout d'une propriété pour accéder et attribuer'des valeurs à aUserIdPublicProperty UserId() AsInteger Get Return aUserIdEndGetSet(ByVal Value AsInteger) aUserId = Value EndSetEndPropertyREM - Class NestedFriendClass NestedClass PublicSub GetElement() 'instanciation de la classe Dim test As Main = New Main(1) Dim chercherUserId AsInteger = 100 'J'attribue une valeur à la variable aUserId test.UserId = chercherUserId 'Je vais chercher la valeur de la variable aUserId chercherUserId = test.UserId() EndSubEndClassEnd Class
S'il y a quoi que ce soit, fais moi signe
|
|
mercredi 8 août 2007 à 22:11:48 |
Re : Construire une class dependant d'un autre

NHenry
|
Bonjour Remarque : PublicReadOnlyProperty Nested()Pense à mettre Option Explicit à On dans les propriétés de ton projet, c'est plus propre et plus rapide. Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée). VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
mercredi 8 août 2007 à 22:24:39 |
Re : Construire une class dependant d'un autre
|
mercredi 8 août 2007 à 22:26:58 |
Re : Construire une class dependant d'un autre
|
mercredi 8 août 2007 à 22:27:59 |
Re : Construire une class dependant d'un autre

NHenry
|
Bonjour Décidément Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée). VB (6, .NET1&2), C++, C#.Net1 Mon site
|
|
Cette discussion est classée dans : class, construire, dependant
Répondre à ce message
Sujets en rapport avec ce message
Connection a des BD différentes [ par NETSAGE ]
Bonjour à tous et toutes Je voudrais créer une class qui me permet de construire la ConnectionString dynamiquement avec la possibilité de choisir
vb.net [ par taikibaybay ]
Salut et bonne fetej utilise visual basic express et je ne trouve pas le Class diagram et je me demande si il existe sur la version express, si oui co
Question très bête (Vol.2) [ par _Fabien ]
J'ai trouvé la source suivante : http://www.vbfrance.com/codes/NET-TYPE-STRUCTURE-COMPATIBILITE-VB6_25830.aspxJe n'arrive pas à la faire marcher. J'ai
variables dans une class [ par shadow1779 ]
Bonjour, ca fais longtemps que je n'ai pas codé et j'ai un peu de lacunes, j'ai fait un programme en Windows Forms et une class avec plusieurs methode
cree un class [ par toufou2006 ]
bonjour,je rviens vers vous car, j ai vraimement besoin de savoir est ce que avec un truc de ce genreclsid=151A5839-A724-11D2-B1B9-00C04FC22764, typel
objet COM vb.net [ par billy21121 ]
Bonjour a tous,j'ai un petit problème sur des formulaires vb.net.j'ai crée une dll en vb.net qui contient une class et une form. ma class appel la for
Webcam via Axis [ par toosdu87 ]
Bonjour a tous,Je souhaiterai controler ma webcam de marque Axis sur le réseau via une application VB NET 2005.Après quelque recherche j'ai trouvai l'
Accès données depuis une Class [ par therafou ]
Bonjour,j'ai une class qui me crée un tableau avec à l'intérieur une structure définit dans ma class.Le tableau est en public Shared donc je peux y av
class paint et la memoire! [ par darkflyer ]
en fait j'utilise la class paint pour dessiner des choses à partir d'un tableau de données stocké en memoire!ma question est si on change le contenu d
Invoke dans une class [ par OneHacker ]
Bonjour j'ai créer une classe vide mais ce n'est pas un contrôle, est-ce qu'il y la posibilité d'implémenté un code pour que la classe puisse utiliser
Livres en rapport
|
Derniers Blogs
PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|