Salut,
Mon constructeur se retrouve avec beaucoup d'attributs, si je ne les mets pas dans le constructeur, je n'accède pas aux getters.
Je ne sais pas si c'est une question,
si oui, je n'ai pas trop compris.
Et est-ce obligatoire de mettre les attributs en protected ? pourquoi pas en public ?
Rien n'est vraiment 'obligatoire' dans l'absolu,
mais GRANDEMENT recommandé,
mettre les attributs en public violerai le "principe d'encapsulation", qui est LE GRAND principe de la programmation objet.
De ce point de vue,
on va dire que c'est "obligatoire" oui.
Je vais te donner une 'explication' (pourquoi on ne met PAS les attributs en public) dans quelques lignes,
mais avant je vais me servir de ce que tu as fais pour préparer le terrain.
Tu vois, tes getters et setters sont tous ultra basique (c'est normal), SAUF
le setter setEmail, qui fait une chose en plus.
Pour ceux qui sont basique,
on pourrait bien se demander qu'elle est la foutu importance d'écrire
plutôt que
Mais, pour ceux qui ne sont PAS basique, cela prends tout son sens d'écrire ces getters/setters.
Si tu n'avais pas écris ton setter setEmail,
à chaque fois que tu voudrai "set" un email tu devrai écrire
alors que grâce à ton setter, qui n'est écrit qu'une fois,
tu peux juste utiliser
Il me semble que dans la formation que tu cite,
Grafikart utilise une astuce pour ne pas avoir à écrire péniblement tous les getters/setters qui sont "basique".
Il utilise une class Entity (abstraite, qu'on instanciera jamais), qui contient 2 méthodes "de base",
dont vont hériter toutes les "vraies" entity (MemberEntity par exemple, est une "vraie" entité, qu'on va instancier)
Ça se présente plus ou moins comme ça :
Du coup à l'utilisation :
Pour l'affichage des infos, je pensais à une fonction qui ferai ça plutôt que les getters.
Comment ça ?
Un getter n'affiche rien,
il retourne une valeur.
PS : Désolé si ça parait un peu trop simple ce que je raconte,
j'ai essayé d'être le plus clair possible parce-que tu nous as prévenu que tu débute.