IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Besoin de bien comprendre les classes


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2009
    Messages : 33
    Par défaut Besoin de bien comprendre les classes
    Bonjour a tous
    Je débute en vb.net et je me rends compte que les classes sont essentielles pour programmer une appli qui tienne la route
    Or si j'ai compris que l'objet est un moule et que pour l'utiliser il faut créer une nouvelle instance.
    Je ne parviens toujours pas a synthétiser l'utilité du constructeur, les paramètres, les classes partielles...
    J'ai besoin de créer des classes et de les comprendre pour assimiler toutes les infos qui gravitent autour
    Merci d'avance

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Bonsoir,
    Tu peux commencer par lire ceci et ça

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    le problème des tutos c'est qu'ils sont bien souvent loin des réalités, avec des exemples farfelus

    avec des infos de ce que tu veux développer on pourrait te donner un exemple concret
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2009
    Messages : 33
    Par défaut
    Salut Callo
    Merci pour tes liens
    Je suis parti les consulter de suite tellement j'ai hâte d'y arriver
    Des que j'ai fini je reviens vers toi pas de soucis?
    Merci

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2009
    Messages : 33
    Par défaut
    Slt Pol63
    Bien d'accord avec toi
    c'est souvent en créant sa propre appli qu'on intègre les principes de bases.
    je cherche a créer une interface entre une base de donnée Filemaker et windows
    Pour cela j'ai besoin de transmettre des paramètres reçus par Fmp pour, par exemple créer un ScheduldedTask, faire apparaitre une alerte pres de l'horloge,recuperer des infos dans une base de données...
    En fait de tous les langages de programmations vb.net c'est celui qui me fâche le moins
    Et plus si j'arrive a progresser

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    mouais ca me parle pas trop

    mais les classes ca fait partie de la programmation orientée objet
    avant on avait des tableaux, dans lesquelles on mettait les variables
    dim a(7) as object en gros
    on fait des redim pour ajouter une ligne, et on lisait les variables par if a(6) = tellevaleur then tellesub(a)
    avec la poo on fait une classe explicite avec des variables typées

    pour une tâche on ferait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class task
      public property nom as string
      public property dateevent as date
      public function DoitAvertir as boolean
         if dateevent > now then return true
         return false
      end function
      ...
    end class
    ca rend le code beaucoup plus lisible, moins buggable et donc plus maintenable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim t as new task
    t.nom = "tache 1"
    t.dateevent = cdate("01/11/2013 10:00:00")
    pour le stockage il y a des collections, en gros des tableaux encapsulés dans du mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim l as new list(of task)
    l.add(t)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if t.DoitAvertir then gestionnaireDavertissement.active(l(0))
    en mettant des sub et des fonctions dans les classes ca permet de ranger le code là ou il doit être plutot que d'avoir des fonctions partout pour faire tout

    on peut donc en peu de code lisible faire ses traitements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each t in l
      if t.DoitAvertir then gestionnaireDavertissement.active(t)
    next
    après on peut mettre un peu de linq là dedans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim tachesAvertissements = (from t in l where t.DoitAvertir = true select t)
    tachesAvertissements.ForEach(new action(of tache)(sub(t as tache)(gestionnaireD'avertissement.active(t)))
    concernant tes questions spécifiques :
    le constructeur c'est le sub new, c'est lui qui est appelé pour créé l'instance, par défaut il ne fait rien et ne demande pas de paramètres
    néanmoins dans certains cas on peut le modifier

    en lui ajoutant des paramètres, ca permet de forcer la création de l'instance avec des valeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public sub new (nom as string)
      if nom = "" then throw new argumentnullexception("nom")
      me.nom = nom
    end sub
    comme ca on est sur que nulle part dans l'appli quelqu'un créera une tache sans nom
    ce genre de chose peut paraitre inutile, néanmoins il permet de coder de manière plus sécurisée, après nulle part dans le code on aura la surprise de trouver un tâche sans nom
    sécuriser le code est aussi essentiel sur des gros projets et/ou du travail d'équipe
    après sur des petits projets, on code au plus vite et sans mettre en place des tas de techniques

    en le rendant private, personne ne peut l'appeler de l'extérieur, tu n'en auras surement pas besoin, mais ca permet alors de créer des factories, à savoir une méthode permettant de créer des instances, ou d'en retourner des existantes
    je peux détailler plus ce point, mais on doit trouver des explication sur le design pattern factory ou des singletons sur le net

    le constructeur surtout s'il est paramétré permet aussi de coder une initialisation de certaines choses

    les classes partielles sont rarement utiles aussi, le plus souvent on les trouve avec des générateurs de code, les plus connus étant le designer windows forms et entity framework
    ca permet de couper une classe en plusieurs morceaux
    quand on créé un form visual studio créé 2 fichiers, un fichier où tu mets ton code, et un fichier caché par défaut que visual studio remplie avec la description de l'interface (mais en code vb.net)
    ca permet de réunir ces 2 codes au sein de la même classe


    au final il y a des principes de base à bien assimiler en .net comme la POO, faire des classes utiliser des collections
    ca permet de bien débuter sans passer à côté des bases
    après il y a des tas de possibilités techniques qui sont pratique dans certains cas mais qui ne sont pas obligatoires pour faire un programme qui marche
    mais au moins l'outil est complet, on peut faire de grandes choses si nécessaire
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2009
    Messages : 33
    Par défaut
    Salut Pol63
    Si seulement je t'avais rencontré avant....
    J'avais commencé un projet Vb.net dont j'avais besoin a l’époque pour évoluer dans mon boulot et pour des raisons pratiques. Du coup je suis resté petit et de jeunes virtuoses d'excel ont pris le poste.
    Et j'ai du laisser tomber car chaque fois que j'avais besoin d'aide la réponse était:
    Va lire ce tuto entier ou donne moi 50€ pour l'envoi d'un mail de réponse...
    Du coup j'ai tout arreté et je suis passé sur filemaker qui reste une base de donnée interfaçée avec des scripts de code et surtout un forum de passionnés qui m'a permis de developper un agenda des bons de commandes....(je suis magasinier)
    Bref c'est avec dechirement que j'ai arreté vb.net et toutes ses possibilitées.
    Si ça te tente je veux bien reprendre mon projet....
    Bref pour ce qui est d'aujoud'hui pour qq'un qui sait pas trop tu as tapé dans le mille avec ton exemple.
    C'est ce genre de classe que je veux pouvoir construire!!!! et en même temps tu as cerné tous mes points noirs: Sub new,classe partielle, classe tout court, constructeur...

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/11/2008, 11h22
  2. J'ai besoin d'aides sur les classes
    Par zizo89 dans le forum Langage
    Réponses: 2
    Dernier message: 30/12/2007, 13h52
  3. Besoin de conseil sur les classes
    Par SuperWeight dans le forum MFC
    Réponses: 1
    Dernier message: 04/06/2007, 21h44
  4. Conseils pour bien écrire les classes ado.net
    Par azerty53 dans le forum VB.NET
    Réponses: 3
    Dernier message: 15/05/2007, 17h24
  5. [POO] Besoin de tutorat sur les classes
    Par misterniark dans le forum Langage
    Réponses: 11
    Dernier message: 20/04/2006, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo