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

Java Discussion :

Classe java implémente une interface


Sujet :

Java

  1. #1
    Membre habitué Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Points : 163
    Points
    163
    Par défaut Classe java implémente une interface
    Bonjour,

    J'ai une interface A:
    interface A { attributs a,b(variables privés); méthodes m1 et m2}
    Et une classe A1 qui implémente cette interface
    class A1 implements A {attributs a,b; méthodes m1 , m2 et m3 (c'est une fonction qui retourne a)
    Et puis j'ai fait dans la fonction main:
    A objet= new A1();
    La question est ce que je peux afficher la variable 'a' comme suit:
    System.out.print(objet.m3());


    Merci.
    La science ne connaît qu'une loi: la contribution scientifique.

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Tout d'abord, une interface ne peut pas contenir une variable. Donc A ne peut pas etre une interface. Mais pour répondre à la question, supposons que A soit une classe.
    Ses variables a et b étant privées, elles ne peuvent pas etre accessibles par A1. Donc si A1 utilise la variable a, c'est toujours la sienne puisqu'elle ne peut pas voir celle dont elle a hérité qui est privée.

  3. #3
    Membre habitué Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Points : 163
    Points
    163
    Par défaut
    Ok, je repose ma question :
    L'interface A est la suivante :
    interface A { méthodes m1 et m2}
    une classe A1 qui implémente cette interface
    class A1 implements A {attributs a,b(publiques); méthodes m1 , m2 et m3 (c'est une fonction qui retourne a)
    Et puis j'ai fait dans la fonction main:
    A objet= new A1();
    Est ce que je peux faire:
    System.out.print(objet.m3());
    pourtant que m3 n'est pas une méthode de A?

    Merci.
    La science ne connaît qu'une loi: la contribution scientifique.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par chercheur111 Voir le message
    Ok, je repose ma question :
    L'interface A est la suivante :

    une classe A1 qui implémente cette interface

    Et puis j'ai fait dans la fonction main:

    Est ce que je peux faire:

    pourtant que m3 n'est pas une méthode de A?

    Merci.
    Tu peux en castant objet: ((A1)objet).m3

  5. #5
    Membre habitué Avatar de chercheur111
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 352
    Points : 163
    Points
    163
    Par défaut
    Merci pour vos réponses.
    La science ne connaît qu'une loi: la contribution scientifique.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Mais bon, ce qu'il faut en retenir, c'est :

    Si tu veux te servir de la méthode m3(), et que la méthode m3() n'est pas déclarée par l'interface A, alors il ne faut pas déclarer ton objet comme étant un A, mais comme étant un A1.

    Autrement dit, l'interface est inutile dans ce cas-là. Elle n'est utile que pour ce qu'elle déclare. Ce qui est un peu logique quand on y pense.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Classe fille implémentant une interface d'une classe mère
    Par Ccckris dans le forum Architecture
    Réponses: 1
    Dernier message: 05/03/2014, 13h52
  2. Classe Vector implémente une interface
    Par boobaie dans le forum Général Java
    Réponses: 10
    Dernier message: 09/04/2013, 14h15
  3. liste des classes qui implémentent une interface
    Par Oussema86 dans le forum Général Java
    Réponses: 6
    Dernier message: 13/12/2010, 16h09
  4. Trouver classe qui implémente une interface
    Par matdur dans le forum C#
    Réponses: 6
    Dernier message: 25/06/2009, 10h14
  5. Réponses: 3
    Dernier message: 03/10/2008, 11h45

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