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# Discussion :

Masquage de propriétés héritées


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Par défaut Masquage de propriétés héritées
    Bonjour.

    Je voudrais savoir s'il est possible de "masquer" ou "d'ignorer" des propriétés héritées (et par extension des méthodes héritées) d'une classe parente.

    ex: J'ai une classe A parente dont hérite une classe B enfant. La classe A possède 2 propriétés P1 et P2 héritables mais seule P1 m'interresse. Puis-je faire en sorte que ma classe B ne propose que P1 ?

    J'espère avoir été clair.

  2. #2
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Ce lien devrait t'intéresser:

    Polymorphisme

  3. #3
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Si tu as la possibilité de modifier dans ta classeA P2, tu peux également la déclarer en 'private'.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Par défaut
    Je connais bien le fonctionnement général du plymorphisme pour l'utiliser courramment. Mais cela ne répond pas à ma question, même si je te remercie bien sûr d'essayer de m'aider.

    J'ai peut-être oublié de préciser que je n'ai aucune possibilité d'action sur la classe parente A.
    Exemple : je veux hériter d'une classe Label pour créer un UserControl susceptible d'être diffusé par la suite mais sans que par exemple les futurs utilisateurs de mon nouveau contrôle n'ai accès à la propriété AutoSize (simple exemple).

    Autre exemple : remplacer la propriété AutoSize booléenne initiale par une nouvelle AutoSize basée sur une énumération à 3 valeurs.

  5. #5
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Tu peux utiliser par exemple dans ta classe fille pour hider P2:

    Cela devrait marcher, non?

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 69
    Par défaut
    Si tu déclare ta méthode public, elle ne sera évidemment pas cachée. Et si la version parente située dans A était public ou protected, tu ne pourras pas la redéclarer private dans la classe héritée pour la cacher. Je sèche...

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/04/2013, 12h45
  2. Réponses: 3
    Dernier message: 28/01/2010, 14h55
  3. Réponses: 2
    Dernier message: 22/10/2008, 23h44
  4. Réponses: 2
    Dernier message: 20/07/2007, 08h35
  5. Réponses: 6
    Dernier message: 11/07/2007, 16h50

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