OVH Cloud OVH Cloud

héritage ???

7 réponses
Avatar
Xav.M
Bonjour, j'ai une classe qui a besoin d'utiliser quelques attribut d'une
autre (mais pas tous!!!) pour bien fonctionner... c'est donc un héritage ou
pas?? je dois regarder sur le web comme se pace un héritage, suis je dans le
bon sens?? où pas du tout???

merci

7 réponses

Avatar
Gib
Je pense que oui c'est le principe de sous classe

Class A
{
protected :
//donnée que la class B pourra accéder
.
.
}

Class B: public a
{
.
.
.}


Gib

"Xav.M" a écrit dans le message de news:
c8vu78$9s4$
Bonjour, j'ai une classe qui a besoin d'utiliser quelques attribut d'une
autre (mais pas tous!!!) pour bien fonctionner... c'est donc un héritage
ou

pas?? je dois regarder sur le web comme se pace un héritage, suis je dans
le

bon sens?? où pas du tout???

merci




Avatar
Alexandre
"Xav.M" a écrit dans le message de
news:c8vu78$9s4$
Bonjour, j'ai une classe qui a besoin d'utiliser quelques attribut d'une
autre (mais pas tous!!!) pour bien fonctionner... c'est donc un héritage
ou

pas?? je dois regarder sur le web comme se pace un héritage, suis je dans
le

bon sens?? où pas du tout???

merci

bonjour,

à mon avis la question pour l'héritage qu'on doit se poser est la suivante :
"l'objet Y est-il en quelque sorte un X mais avec des trucs en plus et/ou
des trucs faits différement ? Si oui, alors Y hérite de X. Sinon, alors Y
n'hérite pas de X. Elle peut contenir un X et utiliser ses méthodes
(publiques)."

Avatar
kanze
"Xav.M" wrote in message
news:<c8vu78$9s4$...

Bonjour, j'ai une classe qui a besoin d'utiliser quelques attribut
d'une autre (mais pas tous!!!) pour bien fonctionner... c'est donc un
héritage ou pas??


On ne peut pas dire comme ça. Utiliser comment ? Comme client de l'autre
classe ? Est-ce qu'elle est une spécialisation de l'autre classe ? Ou
est-ce que c'est simplement une coïncidence, que certaines attributes de
la classe correspondent aux attributes de l'autre classe ?

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Avatar
Xav.M
En clair, j'ai une class "base de donnée", et une autre classe "affichage"
qui a besoin de se connecter a une base, et donc utilisé les attribut de la
class "base de donnée", la plupart des attribut, mais pas tous...
J'ai fait un héritable, ça fonctionne tres bien, mais par contre... comme
c'est un programme qui donne lieu à un examen, j'sais pas si c'est la
meilleur façon de faire...

encore merci
a écrit dans le message de
news:
"Xav.M" wrote in message
news:<c8vu78$9s4$...

Bonjour, j'ai une classe qui a besoin d'utiliser quelques attribut
d'une autre (mais pas tous!!!) pour bien fonctionner... c'est donc un
héritage ou pas??


On ne peut pas dire comme ça. Utiliser comment ? Comme client de l'autre
classe ? Est-ce qu'elle est une spécialisation de l'autre classe ? Ou
est-ce que c'est simplement une coïncidence, que certaines attributes de
la classe correspondent aux attributes de l'autre classe ?

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34



Avatar
LaFleche
Xav.M wrote:
En clair, j'ai une class "base de donnée", et une autre classe "affichage"
qui a besoin de se connecter a une base, et donc utilisé les attribut de la
class "base de donnée", la plupart des attribut, mais pas tous...
J'ai fait un héritable, ça fonctionne tres bien, mais par contre... comme
c'est un programme qui donne lieu à un examen, j'sais pas si c'est la
meilleur façon de faire...


Donc non, la classe "affichage" n'est _pas_ une base de donnée, par
contre elle peut posséder un attribut "base de donnée".

Avatar
Alexandre
"Xav.M" a écrit dans le message de
news:c92867$a7l$
En clair, j'ai une class "base de donnée", et une autre classe "affichage"
qui a besoin de se connecter a une base, et donc utilisé les attribut de
la

class "base de donnée", la plupart des attribut, mais pas tous...
J'ai fait un héritable, ça fonctionne tres bien, mais par contre... comme
c'est un programme qui donne lieu à un examen, j'sais pas si c'est la
meilleur façon de faire...


comme on l'a dit dans un autre post, "affichage" n'étant pas une "base de
donnée" c'est une mauvaise méthode de dériver. Un membre type réf ou
pointeur sur une bdd est une meilleure idée.
A+

Avatar
kanze
"Xav.M" wrote in message
news:<c92867$a7l$...

En clair, j'ai une class "base de donnée", et une autre classe
"affichage" qui a besoin de se connecter a une base, et donc utilisé
les attribut de la class "base de donnée", la plupart des attribut,
mais pas tous... J'ai fait un héritable, ça fonctionne tres bien, mais
par contre... comme c'est un programme qui donne lieu à un examen,
j'sais pas si c'est la meilleur façon de faire...


A priori, d'après les noms, je penserais plutôt que la classe Affichage
est un client de la classe BaseDeDonnees. Dans ce cas, il vaut mieux que
Affichage contient un pointeur à BaseDeDonnees. L'héritage n'est
vraiment pas une bonne idée ici.

En revanche, si tu voulais un BaseDeDonneesAffichant...

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34