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 :

Héritage et Interfaces [Débutant]


Sujet :

C#

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut Héritage et Interfaces
    Bonjour,
    j'ai une classe Media qui implémente une interface IMedia:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public class Media : IMedia
    {
        public Media()
            {
                DatePublished = DateTime.Now;
                DateAdded = DateTime.Now;
             }
     
             // Membres
             etc.
    }
    Ensuite, j'ai une classe Movie qui implémente une interface IMovie:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public class Movie : IMovie
    {
        public Movie()
            {
                //Valeurs par défaut définies ici
             }
     
             // Membres
             etc.
    }
    L'interface IMovie dérive de IMedia.
    Quand je crée un objet Movie, j'aimerais que le constructeur de Media soit appelé, pour que les propriétés communes à tous les Media reçoivent leurs valeurs par défaut. Or, ce n'est pas le cas, même en spécifiant Public Movie() : base().
    Comment faire ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    bonjour

    il faut que Movie hérite de Media, sinon, tu n'as pas beaucoup de chance de pouvoir appeler le constructeur de Media...

    Une interface est là pour dire que l'objet implémente des méthodes, pas pour remplacer l'héritage !!!
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    Une interface est là pour dire que l'objet implémente des méthodes, pas pour remplacer l'héritage !!!
    OK. Donc, ma classe Movie ne peut à la fois implémenter IMovie et hériter de Media ; c'est ou l'un ou l'autre ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    ta classe peut hériter que d'une classe mais peut implémenter autant d'interface que tu veux
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    Merci. Mais ce que je voulais savoir c'est si une classe peut hériter d'une autre ET implémenter une interface.
    Mais bon, j'ai trouvé: oui.
    Public class Movie : Media, IMovie.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Héritage d'interface avec masquage de méthode
    Par Pongten dans le forum ASP.NET
    Réponses: 4
    Dernier message: 05/09/2007, 22h16
  2. héritage et interfaces
    Par vincs72 dans le forum Langage
    Réponses: 5
    Dernier message: 23/08/2007, 00h20
  3. Héritage et interfaces
    Par fabrisss dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2007, 16h01
  4. [POO] héritage et interface
    Par stailer dans le forum Langage
    Réponses: 1
    Dernier message: 17/04/2007, 13h14
  5. [Héritage et Interfaces] Quelle solution choisir ?
    Par BlackWood dans le forum Langage
    Réponses: 10
    Dernier message: 14/11/2006, 11h08

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