none
Réalisation de class avec des multi Propriété Enfant ? RRS feed

  • Question

  • Bonjour a tous

    Je sais faire des classe dites simple mais ce que j'aimerais faire c'est une classe plus avancé un peux comme la class Process ou il y a plusieurs enfants (Propriétés)
    par exemple :

            Dim p As New Process
            p.StartInfo.FileName = "toto.exe"
            p.Start()
    Dans cette exemple on vois bien Parent.Enfant.Enfant = valeurs (p.StartInfo.FileName = "toto.exe")
    Je sais pas du tout comment faire pour avoir plusieurs enfant dans une classe ... (genre Parent.Enfant.Enfant.Enfant....)

    Merci d'avant pour vos éclaircissement




    Cordialement, Troxsa
    vendredi 27 novembre 2009 09:33
    Auteur de réponse

Réponses

  • Bonjour,

    Ce que vous souhaitez faire n'est pas possible en .NET sans passer par plusieurs objets.
    Vous devez créer une classe "Date" contenant une propriété "Naissance". Cette classe devra être instanciée au même moment (dans le constructeur) de votre classe employée.

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse TroxsaEditor vendredi 4 décembre 2009 07:41
    jeudi 3 décembre 2009 22:30
    Modérateur

Toutes les réponses

  • Salut,

    c'est que StartInfo est une autre classe contenant des propriétés et des fonctions.  
    Microsoft MVP C# :: mongeon.devrpm.ca
    vendredi 27 novembre 2009 15:23
    Modérateur
  • Bonjour Biche


    Tout ce que je recherche a faire c'est une class qui aurais plusieurs enfants

    MaClass
    ----> Enfant
    -------> Enfant
    ----------> Enfant
    ------------> Enfant

    Ce qui donnerais MaClass.Enfant.Enfant.Enfant

    Je recherche pas a faire une class type Employer comme on voir sur le net
    ce qui donne

    Employer.Age
    Employer.DateNaissance
    Employer.DateEmboch
    ext ext ...

    Ce que je montre avec la class Employer c'est qu'il y a que deux hiérarchie (employer et la propriété)
    Ce que je recherche a faire c'est d'avoir plusieurs hiérarchie d'une propriété a une autre
    c'est a dire comme :

    Employer.Age
    Employer.Date.Naissance
    Employer.Date.Emboch

    "Date" contient elle deux propriétés qui est "Naissance" ou "Emboch" comment faire pour que ses propriété soit attaché a Date ?

    J'espère avoir été plus clair :)

    Merci Biche




    Cordialement, Troxsa
    vendredi 27 novembre 2009 17:48
    Auteur de réponse
  • j'ai pas bien compris ce que tu veux mais est ce que c'est l'Heritage
    c'est a dire une classe qui herite d'une autre classe ses Attributs ,ses méthodes,ses droits d'accès 
    vendredi 27 novembre 2009 19:05
  • si c'été pas l'héritage voila ta solution 
    'Testé'
    la CLASSE:
    Public Class Employe
        Public Class Nom
            Public Nom As String
            Public Sub New(ByVal nom As String)
                Me.Nom = nom
            End Sub
        End Class
        Public Class Prenom
            Public Prenom As String
            Public Sub New(ByVal prenom As String)
                Me.Prenom = prenom
            End Sub
        End Class
    End Class
    
    Forme
     Dim g As New Employe.Nom("Nom")
            TextBox1.Text = g.Nom
     Dim g1 As New Employe.Prenom("Prenom")
            TextBox1.Text = g1.Prenom

    • Proposé comme réponse MrH.Net vendredi 27 novembre 2009 19:18
    • Non proposé comme réponse TroxsaEditor vendredi 27 novembre 2009 21:04
    vendredi 27 novembre 2009 19:17
  • Merci pour votre proposition et votre participation a mon problème.
    Ce n'est pas une class simple sur deux niveaux que je recherche a faire mais sur plusieurs niveaux 3 ou plus
    Par exemple avec la class que j'ai donné qui est la class "Employer" ...

    Comment faire une classe pour avoir ce résultat ?

    Employer.Date.Naissance
    Employer.Date.Emboch
    Employer.Date.Paye
    Employer.Age
    Employer.Etage
    Employer.Téléphone
    Employer.Salaire.Net
    Employer.Salaire.Brut
    ...

    Ce que j'appelle une class qui a 2 niveaux

    --1-------.--2--
    Employer.Age

    Ce que j'appelle une class qui a 3 niveaux
    -----1----.----2---.--3--
    Employer.Salaire.Brut



    Cordialement, Troxsa
    vendredi 27 novembre 2009 20:59
    Auteur de réponse
  • est ce que tu veu utiliser une seul classe comme j'ai deja démontrer ou bien pour chaque objet une classe ex: une classe date ,une classe Naissance.....

    vendredi 27 novembre 2009 22:32
  • Dans une même class si cela est possible et moins prise de tete que de le faire dans une class different pour chaque objet :)

    Merci beaucoup
    Cordialement, Troxsa
    mardi 1 décembre 2009 08:46
    Auteur de réponse
  • Bonjour,

    Ce que vous voulez faire n'est pas possible. Il vous faudra faire une classe par objet.

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    mardi 1 décembre 2009 22:15
    Modérateur
  • Bonjour,

    Pourrez vous me donner un exemple simple pour faire

    Employer.Date.Naissance
    Employer.Date.Emboch
    Employer.Date.Paye

    ???
    faut il utiliser l'implèment ?
    Cordialement, Troxsa
    mercredi 2 décembre 2009 12:28
    Auteur de réponse
  • voila une petite exécution de ce que j'ai compris

    dim Emp as new Employer
    Emp.Date.Naissance= 12/12/1980
    Emp.DateEmpbauche=now
     

    txtdatePaye.text=Employer.Date.paye(Date)
    • Proposé comme réponse MrH.Net mercredi 2 décembre 2009 15:38
    • Non proposé comme réponse TroxsaEditor mercredi 2 décembre 2009 19:43
    mercredi 2 décembre 2009 13:02
  • voila une petite exécution de ce que j'ai compris

    dim Emp as new Employer
    Emp.Date.Naissance= 12/12/1980
    Emp.DateEmpbauche=now
     

    txtdatePaye.text=Employer.Date.paye(Date)
    Desolé j'ai pas proposer cette réponse expré
    mercredi 2 décembre 2009 15:43
  • Oui j'aimerais un truc dans ce style histoire de comprendre le mécanisme du comment faire ce genre de choses
    Cordialement, Troxsa
    mercredi 2 décembre 2009 17:13
    Auteur de réponse
  • dans ce cas la réponse que j'ai deja proposé est efficace 
    mercredi 2 décembre 2009 19:04
  • Cela me donne pas la class (source) a réalise et comment la faire ...



    Cordialement, Troxsa
    mercredi 2 décembre 2009 19:06
    Auteur de réponse
  • dans la premiére reponse que j'ai proposer il y a 
    une classe Principal Employer
    et des sous classe 
    chaque sous classe presente un attribut 
    mercredi 2 décembre 2009 19:09
  • j'ai deja travaillé avec truc un peu pareil c'été de créer un control MulticolumnComboBox 
    mercredi 2 décembre 2009 19:13

  • si c'été pas l'héritage voila ta solution 
    'Testé'
    la CLASSE:
    Public
     Class
     Employe
    Public Class Nom
    Public Nom As String
    Public Sub New (ByVal nom As String )
    Me .Nom = nom
    End Sub
    End Class
    Public Class Prenom
    Public Prenom As String
    Public Sub New (ByVal prenom As String )
    Me .Prenom = prenom
    End Sub
    End Class
    End Class

    Forme
     Dim
     g As
     New
     Employe.Nom("Nom"
    )
    TextBox1.Text = g.Nom
    Dim g1 As New Employe.Prenom("Prenom" )
    TextBox1.Text = g1.Prenom



    Cela ne ressemble pas du tout a ce que j'ai demandé a la base, si ?
    Car je ne vois pas ou est le troisième "enfant" de la class comme vous avez cité

    Emp = La class / Date = L'enfant de la class / Naissance = L'enfant de l'enfant1
    _____________________________________
    Emp .Date .Naissance = 12/12/1980
    Emp .Date .Embauche = now
    _____________________________________

    Class "Emp" contient des propriétés (Date, Salaire qui dépende que de Emp) et Date contient elle aussi plusieurs Propriétés (Naissance, et Embauche qui dépendes que de Date et non de Emp ) ainsi que Salaire contient deux propriétés (Brut, et Net Qui dépende que de Salaire )




    Cordialement, Troxsa
    mercredi 2 décembre 2009 19:40
    Auteur de réponse
  • Bonjour,

    Ce que vous souhaitez faire n'est pas possible en .NET sans passer par plusieurs objets.
    Vous devez créer une classe "Date" contenant une propriété "Naissance". Cette classe devra être instanciée au même moment (dans le constructeur) de votre classe employée.

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse TroxsaEditor vendredi 4 décembre 2009 07:41
    jeudi 3 décembre 2009 22:30
    Modérateur