RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Quand utiliser l'héritage ?

Forum : C & C++
Sous Catégorie : Aucune
Type du sujet : Débat
FAQ : FAQ C & C++

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C & C++

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2596
Message
#144415
Posté le 24/10/07 à 09:06
Bonjour,

Je vois bien souvent du code où le programmeur utilise à tout va l'héritage public, alors que la plupart du temps un héritage privé ou bien une composition (mettre un objet de type "la classe de base de laquelle on voulait dériver" comme attribut de la classe "qui devait être la classe fille") suffirait et remplirait la même mission.

L'héritage public est à quelques exceptions près "seulement" utile lorsque l'on va utiliser le polymorphisme grâce à un pointeur ou une référence vers un objet du type d'une classe mère.

C'est pourquoi je vous sollicite pour vous demander quand est-ce que vous utilisez l'héritage, lequel (public, protégé, privé) et pourquoi ?

Ce sujet permettra peut-être à quelques uns de corriger des fautes de conception ou d'accélérer leurs programmes (un héritage inutile remplaçable par une composition permet dans ce cas d'éviter de créer une table virtuelle pour le polymorphisme).

Merci pour votre participation ;-)
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)
Qt 4.5 disponible en version Release Candidate !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

rainbow
Superviseur :
- C & C++
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 1470
Message
#144428
Posté le 24/10/07 à 14:52
Alp dit :
C'est pourquoi je vous sollicite pour vous demander quand est-ce que vous utilisez l'héritage, lequel (public, protégé, privé) et pourquoi ?

Moi j'utilise personnellement principalement l'héritage public car je ne vois pas trop d'intérêt à ne pas l'utiliser... Je ne vois vraiment non plus ce que tu entends par composition.
Alp dit :
mettre un objet de type "la classe de base de laquelle on voulait dériver" comme attribut de la classe "qui devait être la classe fille"

Je ne vois pas l'intérêt de mettre un objet de Type A dans la class B à la place de faire hériter B de A. Certes un objet B possèdera un objet A dans ses propriétés mais il n'aura en aucun cas accès sur A comme il l'aurait par héritage...

Très bonne initiative de mettre en commun les connaissances sur ce sujet ;)
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

How to ask Questions ou Comment poser une question
TPE Rayons X et Scoliose

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

eVias
Membre du club
Avatar de eVias
Inscrit : 25/01/2004
Messages : 1016
Message
#147997
Posté le 20/01/08 à 03:36
Salut,
je suis bien étonné que ce sujet ait sucité aussi peu de réponses ... c'est un débat très interessant. et très éducatif...

Donc voilà, moi j'utilise principalement l'héritage public lors de création de méthodes virtuelles. comme par exemple lors de la création d'une classe Animal, celle-ci contient la méthode virtuelle setDescriptionAnimal( string ); .. et celle-ci est donc incrémentée dans les différentes classes filles du style "Vache" "Chien" ... blablabla ... :)

C'est un exemple très simple qui permet un peu de se faire une idée de quand utiliser le public. par exemple pour un agenda avec gestion profonde des contacts. Les contacts seront representés par des objets sur une des classes "Societe" "PersonnePhysique" ... Qui sont filles de la classe Contact et hérite ainsi des propriétés tels "setPrenomContact( )" ou encore "setAdresseContact( )" ...

Ensuite j'aimerai pouvoir créer un héritage privé :-P comme tu le précise dans la première ligne ^^

j'utilise l'héritage protégé principalement pour la réception d'action. du style envoi de données, réception de données par différents protocole et également, comme tu t'en doutes pour les réceptions de signaux Qt ^^

Bon ben je vois pas ce que je peux encore en dire, je suis prêt à en discuter des heures, j'adore ce thème ... :)

Peace ^^
__________________________
Grégory S.

eVias Web & Software Solutions.

Développement Web et logiciel en tout genre et Open Source.

FOSDEM 2008. Venez -y nombreux !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C & C++



    PAGE : [1]



.: Site Web développé par Yann Pingot et l'équipe MPWG avec www.evolvia-web.com :.