IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

m�thode h�rit�e d'une interface


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2014
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 9
    Par d�faut m�thode h�rit�e d'une interface
    Bonjour,

    J'ai une interface "GPIO", et une classe "PCA9555" qui est une classe fille de GPIO.

    Dans GPIO il y a deux fonctions (virtuelles pures) que je vais appeler X() et Y().

    Dans ma classe PCA9555, je ne voudrais pas impl�menter ces deux m�thodes (X et Y), je n'ai pas encore compil� mon code, mais je sais que �a va me poser un probl�me si je les impl�mente pas.

    Ma question est : est ce que je peux les impl�menter (X et Y) mais avec du code vide (void PCA9555:X() { }) ou existe-il une autre solution plus �l�gante ?

    Je vous remercie d'avance de votre aide.

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    � ma connaissance il n'y a pas de solution plus �l�gante si tu veux que ta classe soit concr�te.

    Tu peux aussi rajouter un throw gcnew System::NotImplementedException; dans l'impl�mentation si le code utilisant ton objet n'est pas cens� appeler ces m�thodes.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    +1 avec M�dinoc (comme d'hab.)

    Mais je tiens � souligner que le fait de vouloir n'impl�menter qu'une des 2 fonctions est souvent le sympt�me d'une Interface trop "grande".

    Il peut �tre judicieux de factionner les interfaces. Vous n'�tes pas limit� en nombre d'interface et cela peut rendre votre architecture plus modulaire.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 09/07/2012, 12h27
  2. Typage d'un param�tre d'une m�thode issue d'une interface.
    Par rocklass dans le forum G�n�ral Java
    R�ponses: 9
    Dernier message: 23/02/2012, 09h55
  3. Appeler une m�thode d�finie dans une interface
    Par cedric.daniel dans le forum C#
    R�ponses: 2
    Dernier message: 03/03/2009, 17h21
  4. R�ponses: 1
    Dernier message: 10/01/2009, 17h34
  5. R�ponses: 16
    Dernier message: 26/10/2006, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo