Je souhaite créer une appli qui sera u final un petit répertoire téléphone, adresse, etc...
J'aimerai le concevoir en objet (avec si possible héritage, polymorphisme, encapsulation, etc ...) mais je vois assez mal, pour le moment, quels pourraient être les éléments de cette classe.
Si tu fais un modèle UML de ton agenda, tu identifie seulement 2 classes importantes :
AGENDA et CONTACT lié par une relation de composition.
En bref, un objet agenda est composé de 0 à n objets CONTACT.
Si tu veux, tu peux spécialiser l'objet CONTACT en CONTACT_PROFESSIONNELS, CONTACT_AMIS, etc. via une relation d'héritage.
PS : un agenda est typiquement un ensemble d'elements, c'est donc pouquoi c'est un exemple classique de specif. formelle (ex : méthode B, specif. algébrique). [pour ceux à qui ca rapelle des choses [smi] ]
bye.
__________________________
Il vaut mieux mobiliser son intelligence sur des conneries que
mobiliser sa connerie sur des choses intelligentes. [SHADOKS]
tout a fait hephaistos007...
Je pense aussi qu'un schéma UML peut t'etre très utile pour avoir une idée de ce qui t'attend et surtou pour bien connaitre AVANT de commencer a programmer les liens qui lieront tes objets...
Pour l a spécialisation des CONTACTS, ce n'est pas une mauvais idée... tu peux aussi créer une classe CONTACT et la déclarer comme abstraite...
Dis nous ce que tu comptes faire et on essayera de t'aider tout au long de ton développement
__________________________ FAQ PHP
J'ai vu un autre topic sur moteurprog ou un type demandit de l'aide pour faire la meme chose, sauf qu'il utilisait des listes chainées et des structures, le tout avec des pointeurs...
C'est donc le plus facile avec quelle technique?
On ne choisit pas de faire des chaines ou de l'héritage, c'est comme si on choisissait des chaussures bleues ou des chaussures montantes.
PowOx, tu peux aussi faire un objet contact qui possède en objet enfant, des contact famille, contact ami, contact travail qui possèdent des propriétés différentes, par exemple pour le travail, il possède le numéro de téléphone du travail, le nom de l'entreprise.
Tu peux aussi faire un objet action qui serrait appeller, écrire une lettre ou tout autre chose de personnalisé.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
Mdr Pac, enfin bon, merci de m'avoir un peu eclaire...
Sinan, je voudrais savoir si le pojet inclue qqchose qui permette de garder la trace d'un carnet entre, je veux dire un moyen de sauvegarde de facon a pouvoir acceder apres une reouverture du programme a ce que l'on avait ecri la session davant...
:():
Tu demandes s'il possède un enregistrement automatique du carnet lors de la fermeture du logiciel et une ouverture automatique du carnet lors de l'exécution du logiciel ?
La réponse est que le projet n'est pas encore fait mais qu'il devra l'intégrer.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
Moui, une classe agenda, contenant des contacts, dans la classe contact on peut encore avoir une classe adresse, par contre, je ne vois pas l'utilité d'inclure du polymorphisme là dedans, quele différence feriez-vous entre un contact_ami et un contact_professionel qui héritraient tous deux d'une classe contact qui est abstraite ??
__________________________ Poêle bruno
[quote]quele différence feriez-vous entre un contact_ami et un contact_professionel qui héritraient tous deux d'une classe contact qui est abstraite ?? [/quote]
Et bien, chaque sous classe peut ajouter des attributs qui lui sont propres, ex :
CONTACT_AMI aurait un attribut (no_ICQ)
CONTACT_PROF aurait un attribut (no_fax)
->on contacte rarement ses amis par fax et son patron par ICQ ! :D:
Et la classe (abstraite évidemment) CONTACT regroupe les attibuts communs (nom, prenom, adresse,...)
Pour ce qui est de la persistance de ton agenda, utilise un stockage BDD, ou alors encore mieux, en XML, pour pouvoir executer ton prog sans couplage avec un SGBD (solution + portable).
Si tu optes pour la 2ème solution, ce que je te conseille, tu pourras "interroger" donc doc XML grace au langage de requete XQuery (ex : "rechercher tous les amis dont le numero de tel portable commence par 06 03").
Bye.
__________________________
Il vaut mieux mobiliser son intelligence sur des conneries que
mobiliser sa connerie sur des choses intelligentes. [SHADOKS]
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !
oui, sous ce point de vue la, mais on n'est pas obligé non plus de laisser la classe contact abstraite.
On peut prendre ses descendants comme des contact , avec un petit plus. Pour moi, un contact peut être un contact tout simplement.
__________________________ Poêle bruno