|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 124 ![]() |
Bonjour,
J'aimerai votre avis sur deux classes A et B. Ces classes correspondent à deux tables de relation 0,n. En fait, ce que j'aimerai savoir c'est si la manière de faire est correcte. Je sais que c'est un peu floue comme question mais je ne sais pas trop comment le dire plus précisément. J'aurai une seconde interrogation ensuite : comment dans ma classe A intégrer une liste (tableau) d'objet B ? Le mieux est-il de creer une autre classe du style ListeB renvoyant un tableau de B ou de créer un tableau de B directement dans la classe A ? Ou les deux méthodes sont-elles correctes ? Et si je garde mon code tel quel, dans les deux cas, la dernière ligne de la méthode getB () ne va-t-elle pas donner une boucle infinie ? Merci d'avance et n'hésitez pas à me faire préciser quoique ce soit. Voici le code incriminé : Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 656 ![]() |
Je pense que ce serait plus clair si on avait la structure de ta base de données. Et donner des noms qui veulent dire quelque chose à tes tables et tes objets pourrait également être une bonne idée.
Au passage, attention avec la notion d'héritage. Faire hériter une classe d'une autre c'est dire que la classe Fille est la même chose que la classe mère avec des attributs et des méthodes en plus et/ou redéfinis : par exemple, une classe Chien qui hérite de la classe Animal ou une classe Voiture hérite d'une classe Véhicule. Je ne suis pas sure que ce soit réellement ton cas....
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
10
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 124 ![]() |
Déjà merci d'avoir répondu.
En fait, je dois refaire quleque chose d'existant et je voudrai connaitre la meilleur manière de faire les choses. D'après ta réponse, je pense que tu as raison concernant mon cas précis. Mes classes concernent des gîtes contenant des chambres. Et donc un gîte et une chambre ne sont pas la même chose. J'imagine donc que mon objet gite devra contenir une variable tableau de chambre ??? Je me permets du coup d'exposer mon problème. J'ai des centaines d'informations sur chaque gîte : chambres (descriptions, disponibilités), facturations, coordonnées bancaires, localisations, infos sur la région touristique ... Je pensai donc faire pour chaque une classe qui hériterait de Gite, car Gite va devenir une classe plus qu'énorme et je crains que ce soit extrêmement lourd lorsque je vais avoir une liste de Gite. De plus, je dois pouvoir, par exemple, fournir une liste de chambre disponible dans telle région à telle période. Puisque la disponibilité est définie au niveau de la chambre (libre ou occupée), je pensais qu'il était plus judicieux d'avoir une classe Chambre à part entière. Voilà donc mon soucis. |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 124 ![]() |
En fait, j'imagine que je dois seulement faire deux classes, Gite et Chambre. La classe Gite contenant une variable contenant un tableau de Chambre.
Ensuite, si effectivement ma classe Gite devient très importante, est-il judicieux de ne pas remplir toutes les variables (comme les coordonnées bancaires, ...) systématiquement mais en fonction d'un paramètre ou de faire plusieurs classes Gite (par exemple une classe Gite sommaire, une classe Gite avec le tableau de Chambre et une classe Gite complète) ??? Ou troisième possibilité, je suis à côté de la plaque et dans ce cas je veux bien que vous m'aiguilliez dans la bonne direction. |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Pour ma part, je pense que tu es dans la bonne direction avec tes classes. Une Classe Gite avec toutes les informations avec une relation 1,n de chambres (relation d'appartenance). Ce qui se traduirait par une collection de chambres dans ta classe Gite. Après tu pourras enrichir tes classes de méthodes qui te permettront de stocker ou d'accéder a leurs données. Par contre, petit conseil : sépare mieux tes couches (accès données & méthodes métier)... A+ Mathieu |
|
10
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 124 ![]() |
Merci de ta réponse.
Ce que tu me conseilles, est-ce quelque chose dans ce goût là (je n'ai mis que l'essentiel pour comprendre l'idée que je me suis fait du conseil que tu m'as donné) : Code :
|
||
|
|
00
|
|
|
#7 | ||||
|
Membre éclairé
![]() Inscription : août 2007 Messages : 360 ![]() |
Bonjour,
Je ne vois pas trop l'interêt de deux classes par Entité. En effet, pourquoi ne pas regrouper tes classes comme suit : Code :
Code :
Par contre, tu vas certainement avoir besoin de manipuler une collection de gites. Pourquoi pas un Manager... Cordialement, Mathieu |
||||
|
10
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : mars 2006 Messages : 124 ![]() |
Merci beaucoup pour l'aide apportée.
Je vais regarder cette histoire de Manager qui, s'il est comme les autres, doit être un bon conseil. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com