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

Langage Java Discussion :

Classe interne étendant une classe externe abstraite


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 26
    Par défaut Classe interne étendant une classe externe abstraite
    Salut,

    Cette structure est-elle impossible à instancier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    abstract class Fruit {
     
    	abstract void mange();
     
    	final class Banane extends Fruit {
    		void mange() {
    			System.out.println("Y'a bon!");
    		}
    	}
     
    }
    ?

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    Quel intérêt de placer une class interne dans une class abstraite ?

  3. #3
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    +1

  4. #4
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Bonjour

    Citation Envoyé par *alexandre*
    Quel intérêt de placer une class interne dans une class abstraite ?
    La classe abstraite java.util.AbstractList contient une classe interne Itr (Iterator).

    Par contre je n'ai pas compris la question de janef...

    Tu ne peux rien instancier d'une autre classe. :
    - Fruit n'est pas instanciable.
    - Banane n'est pas instanciable car doit être liée à une instance de Fruit qui n'est pas instanciable.

    Tu peux instancier Banane depuis le code de Fruit de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    abstract class Fruit {
     
    	abstract void mange();
     
    	final class Banane extends Fruit {
    		void mange() {
    			System.out.println("Y'a bon!");
    		}
    	}
     
    	public void testBanane() {
    		this.new Banane().mange();
    	}
     
    }
    Pour instancier un Fruit depuis l'extérieur, tu peux faire comme ça :

    Class Fruit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    abstract class Fruit {
     
    	abstract void mange();
     
    	public static final class Banane extends Fruit {
    		void mange() {
    			System.out.println("Y'a bon!");
    		}
    	}
    }
    Classe de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Test {
    	public static void main(String[] args) {
    		Fruit fruit = new Fruit.Banane();
    		fruit.mange();
    	}
    }
    voili voilou

  5. #5
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Citation Envoyé par yann2
    La classe abstraite java.util.AbstractList contient une classe abstraite Itr (Iterator)
    Citation Envoyé par *alexandre*
    Quel intérêt de placer une class interne dans une class abstraite ?
    Ici on parle d'une classe interne non abstraite je pense que c'est ça qui nous a échappé avec alexandre

  6. #6
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Citation Envoyé par sironimo
    Ici on parle d'une classe interne non abstraite je pense que c'est ça qui nous a échappé avec alexandre
    Itr n'est pas abstraite Je me suis emmêlé les pinceaux (et j'ai édité). Itr est bien une classe interne concrète !

  7. #7
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    autant pour moi. Ok pour l'exemple mais quel est l'intérêt ?

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    ca reste louche comme conception

    je veux bien que pour une class Tree elle possède une class Cell en interne qui elle contient une entité générique

    mais pour une classe qui peut etre utilisé en externe (une banane) c est mal fait

Discussions similaires

  1. Réponses: 12
    Dernier message: 18/01/2013, 13h15
  2. Réponses: 2
    Dernier message: 13/05/2008, 10h02
  3. Réponses: 2
    Dernier message: 02/02/2008, 07h37
  4. Class interne dans une classe template
    Par MatRem dans le forum Langage
    Réponses: 26
    Dernier message: 15/06/2006, 10h45
  5. [POO] Classe interne à une classe, est ce possible ?
    Par Matth_S dans le forum Langage
    Réponses: 13
    Dernier message: 10/02/2006, 10h24

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