Autodidacte, je butte un peu sur les premiers essais de POO...
J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2 méthodes
Allumer et Eteindre
Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe,
Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de
passer par les collections.
Je tente donc de créer une classe Lampes (un ArrayList plus précisément),
mais je butte sur les liens qui doivent exister entre Lampe et Lampes.
Je ne vois plus trop comment remplacer mon tLampes(5).Allumer par une
nouvelle syntaxe / méthode dans l'une des 2 classes. Quelqu'un aurait-il
quelques précisions à me donner ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille14
Seblutfr a écrit :
Bonjour,
Autodidacte, je butte un peu sur les premiers essais de POO...
J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2 méthodes Allumer et Eteindre Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de passer par les collections.
Je tente donc de créer une classe Lampes (un ArrayList plus précisément), mais je butte sur les liens qui doivent exister entre Lampe et Lampes. Je ne vois plus trop comment remplacer mon tLampes(5).Allumer par une nouvelle syntaxe / méthode dans l'une des 2 classes. Quelqu'un aurait-il quelques précisions à me donner ?
Merci d'avance,
Séb
Bonjour, Pourquoi ne pas faire une collection de labels, 1 par lampe, associée à un tableau booleen, true c'est allumé, false c'est éteint. 1 clic sur un label fait basculer l'état de la lampe et de la position correspondante du tableau ainsi que la couleur de fond du label, vert lampe allumée, rouge éteinte, orange état non reconnu. Le tableau n'est utile que si le prog ne peut par connaitre l'état des lampes lors du démarrage et que les lampes ne peuvent changer d'état que par le prog.
-- Jacques dit Jacquouille
Seblutfr a écrit :
Bonjour,
Autodidacte, je butte un peu sur les premiers essais de POO...
J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre
Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as
Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était
conseillé de passer par les collections.
Je tente donc de créer une classe Lampes (un ArrayList plus
précisément), mais je butte sur les liens qui doivent exister entre
Lampe et Lampes.
Je ne vois plus trop comment remplacer mon tLampes(5).Allumer par une
nouvelle syntaxe / méthode dans l'une des 2 classes. Quelqu'un aurait-il
quelques précisions à me donner ?
Merci d'avance,
Séb
Bonjour,
Pourquoi ne pas faire une collection de labels, 1 par lampe,
associée à un tableau booleen, true c'est allumé, false c'est
éteint. 1 clic sur un label fait basculer l'état de la lampe et
de la position correspondante du tableau ainsi que la couleur de fond
du label, vert lampe allumée, rouge éteinte, orange état non reconnu.
Le tableau n'est utile que si le prog ne peut par connaitre
l'état des lampes lors du démarrage et que les lampes ne peuvent
changer d'état que par le prog.
Autodidacte, je butte un peu sur les premiers essais de POO...
J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2 méthodes Allumer et Eteindre Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de passer par les collections.
Je tente donc de créer une classe Lampes (un ArrayList plus précisément), mais je butte sur les liens qui doivent exister entre Lampe et Lampes. Je ne vois plus trop comment remplacer mon tLampes(5).Allumer par une nouvelle syntaxe / méthode dans l'une des 2 classes. Quelqu'un aurait-il quelques précisions à me donner ?
Merci d'avance,
Séb
Bonjour, Pourquoi ne pas faire une collection de labels, 1 par lampe, associée à un tableau booleen, true c'est allumé, false c'est éteint. 1 clic sur un label fait basculer l'état de la lampe et de la position correspondante du tableau ainsi que la couleur de fond du label, vert lampe allumée, rouge éteinte, orange état non reconnu. Le tableau n'est utile que si le prog ne peut par connaitre l'état des lampes lors du démarrage et que les lampes ne peuvent changer d'état que par le prog.
-- Jacques dit Jacquouille
ChC2B
Jacquouille14 a écrit :
Seblutfr a écrit : J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de passer par les collections.
T'as bien compris !
Je tente donc de créer une classe Lampes (un ArrayList plus précisément), mais je butte sur les liens qui doivent exister entre Lampe et Lampes.
Non! Il ne faut pas utiliser un arraylist. Mais une collection typée.
Tu as un objet lampe, codé dans une classe Lampe. Tu veux créer ListeLampe une collection d'objets lampe (c'est mieux que le "s" au bout de lampe car avec beaucoup d'objets on ne fait plus la différence à l'oeil dans l'IDE entre la classe et sa collections, ceci permet aussi un classement alph dans l'ide qui permet d'avoir toutes les collections d'objet ensemble).
Tu créé une nouvelle classe nommée ListeLampe ' espace de nom des collections, et ce qui nous convient : les ' collections generiques
Private m_col as System.collections.Generic.list(of Lampe)
' c'est là que tu déclare une collection de lampes
end class
Ensuite il te faut implanter les méthodes de l'objet m_col dans l'objet ListeLampe (délégation). Par exemple La méthode (ou propriété dans ce cas) Count de l'objet Listelampe est
Public function count() as integer count=m_coul.count end function
Ou la méthode add : Public function Add(Byval L as lampe) as lampe
try m_col.add(L) add=L
catch ex as Exception add=nothing end try
end function
Voili voilà j'espère que ça t'éclaire, j'allais oublier:
Dans le constructeur de la liste il ne faut pas oublier d'initialiser l'objet m_col encapsulé.
Public sub new m_col = new system.collections.generic.list(of lampe) end sub
A+
Jacquouille14 a écrit :
Seblutfr a écrit :
J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre
Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as
Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était
conseillé de passer par les collections.
T'as bien compris !
Je tente donc de créer une classe Lampes (un ArrayList plus
précisément), mais je butte sur les liens qui doivent exister entre
Lampe et Lampes.
Non! Il ne faut pas utiliser un arraylist. Mais une collection typée.
Tu as un objet lampe, codé dans une classe Lampe.
Tu veux créer ListeLampe une collection d'objets lampe (c'est mieux que
le "s" au bout de lampe car avec beaucoup d'objets on ne fait plus la
différence à l'oeil dans l'IDE entre la classe et sa collections, ceci
permet aussi un classement alph dans l'ide qui permet d'avoir toutes les
collections d'objet ensemble).
Tu créé une nouvelle classe nommée ListeLampe
' espace de nom des collections, et ce qui nous convient : les
' collections generiques
Private m_col as System.collections.Generic.list(of Lampe)
' c'est là que tu déclare une collection de lampes
end class
Ensuite il te faut implanter les méthodes de l'objet m_col dans l'objet
ListeLampe (délégation).
Par exemple La méthode (ou propriété dans ce cas) Count de l'objet
Listelampe est
Public function count() as integer
count=m_coul.count
end function
Ou la méthode add :
Public function Add(Byval L as lampe) as lampe
try
m_col.add(L)
add=L
catch ex as Exception
add=nothing
end try
end function
Voili voilà j'espère que ça t'éclaire, j'allais oublier:
Dans le constructeur de la liste il ne faut pas oublier d'initialiser
l'objet m_col encapsulé.
Public sub new
m_col = new system.collections.generic.list(of lampe)
end sub
Seblutfr a écrit : J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de passer par les collections.
T'as bien compris !
Je tente donc de créer une classe Lampes (un ArrayList plus précisément), mais je butte sur les liens qui doivent exister entre Lampe et Lampes.
Non! Il ne faut pas utiliser un arraylist. Mais une collection typée.
Tu as un objet lampe, codé dans une classe Lampe. Tu veux créer ListeLampe une collection d'objets lampe (c'est mieux que le "s" au bout de lampe car avec beaucoup d'objets on ne fait plus la différence à l'oeil dans l'IDE entre la classe et sa collections, ceci permet aussi un classement alph dans l'ide qui permet d'avoir toutes les collections d'objet ensemble).
Tu créé une nouvelle classe nommée ListeLampe ' espace de nom des collections, et ce qui nous convient : les ' collections generiques
Private m_col as System.collections.Generic.list(of Lampe)
' c'est là que tu déclare une collection de lampes
end class
Ensuite il te faut implanter les méthodes de l'objet m_col dans l'objet ListeLampe (délégation). Par exemple La méthode (ou propriété dans ce cas) Count de l'objet Listelampe est
Public function count() as integer count=m_coul.count end function
Ou la méthode add : Public function Add(Byval L as lampe) as lampe
try m_col.add(L) add=L
catch ex as Exception add=nothing end try
end function
Voili voilà j'espère que ça t'éclaire, j'allais oublier:
Dans le constructeur de la liste il ne faut pas oublier d'initialiser l'objet m_col encapsulé.
Public sub new m_col = new system.collections.generic.list(of lampe) end sub
A+
Richard Clark
ChC2B a écrit :
Jacquouille14 a écrit :
Seblutfr a écrit : J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de passer par les collections.
T'as bien compris !
Je tente donc de créer une classe Lampes (un ArrayList plus précisément), mais je butte sur les liens qui doivent exister entre Lampe et Lampes.
Non! Il ne faut pas utiliser un arraylist. Mais une collection typée.
Tu as un objet lampe, codé dans une classe Lampe. Tu veux créer ListeLampe une collection d'objets lampe (c'est mieux que le "s" au bout de lampe car avec beaucoup d'objets on ne fait plus la différence à l'oeil dans l'IDE entre la classe et sa collections, ceci permet aussi un classement alph dans l'ide qui permet d'avoir toutes les collections d'objet ensemble).
Tu créé une nouvelle classe nommée ListeLampe ' espace de nom des collections, et ce qui nous convient : les ' collections generiques
Private m_col as System.collections.Generic.list(of Lampe)
' c'est là que tu déclare une collection de lampes
end class
Ensuite il te faut implanter les méthodes de l'objet m_col dans l'objet ListeLampe (délégation). Par exemple La méthode (ou propriété dans ce cas) Count de l'objet Listelampe est
Public function count() as integer count=m_coul.count end function
Ou la méthode add : Public function Add(Byval L as lampe) as lampe
try m_col.add(L) add=L
catch ex as Exception add=nothing end try
end function
Voili voilà j'espère que ça t'éclaire, j'allais oublier:
Dans le constructeur de la liste il ne faut pas oublier d'initialiser l'objet m_col encapsulé.
Public sub new m_col = new system.collections.generic.list(of lampe) end sub
A+
Heu, je ne suis pas d'accord avec l'exemple. Le mieux est de créer une classe LampeCollection qui dérive de Collection(Of Lampe). Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
-- Richard Clark http://www.c2i.fr Le 1er site .NET
ChC2B a écrit :
Jacquouille14 a écrit :
Seblutfr a écrit :
J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre
Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as
Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était
conseillé de passer par les collections.
T'as bien compris !
Je tente donc de créer une classe Lampes (un ArrayList plus
précisément), mais je butte sur les liens qui doivent exister entre
Lampe et Lampes.
Non! Il ne faut pas utiliser un arraylist. Mais une collection typée.
Tu as un objet lampe, codé dans une classe Lampe.
Tu veux créer ListeLampe une collection d'objets lampe (c'est mieux que
le "s" au bout de lampe car avec beaucoup d'objets on ne fait plus la
différence à l'oeil dans l'IDE entre la classe et sa collections, ceci
permet aussi un classement alph dans l'ide qui permet d'avoir toutes les
collections d'objet ensemble).
Tu créé une nouvelle classe nommée ListeLampe
' espace de nom des collections, et ce qui nous convient : les
' collections generiques
Private m_col as System.collections.Generic.list(of Lampe)
' c'est là que tu déclare une collection de lampes
end class
Ensuite il te faut implanter les méthodes de l'objet m_col dans l'objet
ListeLampe (délégation).
Par exemple La méthode (ou propriété dans ce cas) Count de l'objet
Listelampe est
Public function count() as integer
count=m_coul.count
end function
Ou la méthode add :
Public function Add(Byval L as lampe) as lampe
try
m_col.add(L)
add=L
catch ex as Exception
add=nothing
end try
end function
Voili voilà j'espère que ça t'éclaire, j'allais oublier:
Dans le constructeur de la liste il ne faut pas oublier d'initialiser
l'objet m_col encapsulé.
Public sub new
m_col = new system.collections.generic.list(of lampe)
end sub
A+
Heu, je ne suis pas d'accord avec l'exemple.
Le mieux est de créer une classe LampeCollection qui dérive de
Collection(Of Lampe).
Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
--
Richard Clark
http://www.c2i.fr
Le 1er site .NET
Seblutfr a écrit : J'ai un objet Lampe, qui comprend une propriété NumeroLampe, et 2
méthodes Allumer et Eteindre Mon programme doit pouvoir gérer une vingtaine de lampes.
Jusqu'à présents, j'étais passé par un tableau (Public tLampes(20) as Lampe, Lampe étant ma classe) mais j'ai cru comprendre qu'il était conseillé de passer par les collections.
T'as bien compris !
Je tente donc de créer une classe Lampes (un ArrayList plus précisément), mais je butte sur les liens qui doivent exister entre Lampe et Lampes.
Non! Il ne faut pas utiliser un arraylist. Mais une collection typée.
Tu as un objet lampe, codé dans une classe Lampe. Tu veux créer ListeLampe une collection d'objets lampe (c'est mieux que le "s" au bout de lampe car avec beaucoup d'objets on ne fait plus la différence à l'oeil dans l'IDE entre la classe et sa collections, ceci permet aussi un classement alph dans l'ide qui permet d'avoir toutes les collections d'objet ensemble).
Tu créé une nouvelle classe nommée ListeLampe ' espace de nom des collections, et ce qui nous convient : les ' collections generiques
Private m_col as System.collections.Generic.list(of Lampe)
' c'est là que tu déclare une collection de lampes
end class
Ensuite il te faut implanter les méthodes de l'objet m_col dans l'objet ListeLampe (délégation). Par exemple La méthode (ou propriété dans ce cas) Count de l'objet Listelampe est
Public function count() as integer count=m_coul.count end function
Ou la méthode add : Public function Add(Byval L as lampe) as lampe
try m_col.add(L) add=L
catch ex as Exception add=nothing end try
end function
Voili voilà j'espère que ça t'éclaire, j'allais oublier:
Dans le constructeur de la liste il ne faut pas oublier d'initialiser l'objet m_col encapsulé.
Public sub new m_col = new system.collections.generic.list(of lampe) end sub
A+
Heu, je ne suis pas d'accord avec l'exemple. Le mieux est de créer une classe LampeCollection qui dérive de Collection(Of Lampe). Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
-- Richard Clark http://www.c2i.fr Le 1er site .NET
ChC2B
Richard Clark a écrit :
Heu, je ne suis pas d'accord avec l'exemple. Le mieux est de créer une classe LampeCollection qui dérive de Collection(Of Lampe). Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
Oui c'est aussi une solution mais, pour ma part j'utilise celle là car une listeObjet chez moi hérite de Collection et de Binding collection, et pour l'héritage multiple il me semble que c'est la seule solution?
A+
Richard Clark a écrit :
Heu, je ne suis pas d'accord avec l'exemple.
Le mieux est de créer une classe LampeCollection qui dérive de
Collection(Of Lampe).
Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
Oui c'est aussi une solution mais, pour ma part j'utilise celle là car
une listeObjet chez moi hérite de Collection et de Binding collection,
et pour l'héritage multiple il me semble que c'est la seule solution?
Heu, je ne suis pas d'accord avec l'exemple. Le mieux est de créer une classe LampeCollection qui dérive de Collection(Of Lampe). Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
Oui c'est aussi une solution mais, pour ma part j'utilise celle là car une listeObjet chez moi hérite de Collection et de Binding collection, et pour l'héritage multiple il me semble que c'est la seule solution?
A+
Seblutfr
"ChC2B" a écrit dans le message de groupe de discussion : 4afba78a$0$964$
Richard Clark a écrit :
Heu, je ne suis pas d'accord avec l'exemple. Le mieux est de créer une classe LampeCollection qui dérive de Collection(Of Lampe). Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
Oui c'est aussi une solution mais, pour ma part j'utilise celle là car une listeObjet chez moi hérite de Collection et de Binding collection, et pour l'héritage multiple il me semble que c'est la seule solution?
A+
Je vais regarder tout ça, merci (tardivement) pour ces pistes et ces idées !
Séb
"ChC2B" <ChC2B@wanadoo.fr> a écrit dans le message de groupe de discussion :
4afba78a$0$964$ba4acef3@news.orange.fr...
Richard Clark a écrit :
Heu, je ne suis pas d'accord avec l'exemple.
Le mieux est de créer une classe LampeCollection qui dérive de
Collection(Of Lampe).
Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
Oui c'est aussi une solution mais, pour ma part j'utilise celle là car une
listeObjet chez moi hérite de Collection et de Binding collection, et pour
l'héritage multiple il me semble que c'est la seule solution?
A+
Je vais regarder tout ça, merci (tardivement) pour ces pistes et ces idées !
"ChC2B" a écrit dans le message de groupe de discussion : 4afba78a$0$964$
Richard Clark a écrit :
Heu, je ne suis pas d'accord avec l'exemple. Le mieux est de créer une classe LampeCollection qui dérive de Collection(Of Lampe). Tu auras alors toutes les méthodes (Add, Remove, etc.) déjà implémentées.
Si tu veux aller encore plus loin, hérite de List(Of Lampe)
Oui c'est aussi une solution mais, pour ma part j'utilise celle là car une listeObjet chez moi hérite de Collection et de Binding collection, et pour l'héritage multiple il me semble que c'est la seule solution?
A+
Je vais regarder tout ça, merci (tardivement) pour ces pistes et ces idées !