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

avec Java Discussion :

Modifier une Classe


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    892
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 892
    Par défaut Modifier une Classe
    Bonjour à tous,
    Peut on après héritage d'une classe, modifier la classe héritée(mère) ? On peut y ajouter des fonctions mais modifier la Classe héritée ?....
    Quand je dis modifier la classe héritée je veux dire la modifier à partir de la classe fille.
    Si quelqu'un a des infos la dessus . Merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par xeron33 Voir le message
    Peut on après héritage d'une classe, modifier la classe héritée(mère) ? On peut y ajouter des fonctions mais modifier la Classe héritée ?....
    Quel sens donne-tu à modifier une classe ? On peut modifier son comportement, par différent moyen. Mais s'il s'agit d'ajouter ou supprimer des méthodes, changer leur signature, les constructeurs, les attributs, la visibilité des attributs ou méthodes, etc, ça posera de nombreux problèmes que de pourvoir le faire. On peut d'ailleurs tout faire dans l'absolu, ou presque, mais modifier une classe qui a été déjà chargé en mémoire veut dire pouvoir la décharger, le recharger, gérer l'impact sur les instances, les classes qui en héritent et leurs instances, les liens (références) entre toutes ces instances, etc, sans parler de cas conflictuels, ou de cas qui nécessiterait éventuellement de faire une VM adaptée. Une belle usine à gaz bien prise de tête comparée à des moyens beaucoup plus simple de gérer des comportements multiples et alternatifs à l'exécution, même s'il existe des moyens de faire certaines choses (réflexion (y compris proxy), scripting JS, etc).
    Mais c'est quoi le but ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    892
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 892
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Mais c'est quoi le but ?
    Bonsoir et merci pour ta réponse, le but est de faire évoluer une petite appli développée en formation permettant de calculer une mensualité à partir d'un montant voulu et un nombre d'années choisies.
    Actuellement le taux est saisi manuellement, je voudrais qu'il soit automatiquement affiché à partir d'une liste déroulante existante (suivant le nombre d'années)
    J'ai déjà réussi à créer une classe fille permettant de modifier un "JTextField" en le rendant inaccessible et de fond de couleur vert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      txtTaux.setEditable(false);
      txtTaux.setBackground(new Color(114,227,87));
    Ca ca fonctionne.
    Je suis en train de créer une classe interne dans la classe fille permettant de gérer le comportement de la liste déroulante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private class GesListe implements ActionListener{//Classe Interne
     
    		@Override
    		public void actionPerformed(ActionEvent arg0) {
     
     
     
    		}
     
     
    }
    Voilà ou j'en suis.
    Si tu veux plus d'infos dis moi et merci encore.
    A +

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Les classes de modèles (gérant les données) doivent être indépendantes des classes d'IHM. Dans ce cas, il n'y a pas de modification de classe à faire au runtime. Une même classe de modèle est utilisable dans un environnement avec IHM console, IHM graphique de type desktop (Swing), ihm web, ou pas d'ihm du tout.
    Il peut arrive peut-être que dans le cadre d'un exercice basique, on mélange modèle et saisie en console, mais le but est de travailler un aspect. Ce genre de programme n'a pas vocation à être utilisé dans un autre cadre que l'exercice. Si on veut le faire évoluer, il faut commencer par extraire l'aspect saisie dans d'autres classes que celles du modèle, puis intégrer le modèle dans un modèle MVC pour faire une interface Swing ou JavaFX par exemple.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Eclipse Indigo, plus moyen de modifier une classe
    Par peofofo dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/10/2011, 14h28
  2. Modifier une classe via Jquery
    Par Fooshi dans le forum jQuery
    Réponses: 10
    Dernier message: 08/06/2011, 11h31
  3. [Javassist] Modifier une classe
    Par paco293410 dans le forum Général Java
    Réponses: 2
    Dernier message: 01/12/2008, 11h49
  4. Modifier une classe par une autre classe
    Par Couz02 dans le forum C++
    Réponses: 15
    Dernier message: 05/05/2008, 10h54
  5. [CSS] modifier une classe à la volée, est-ce possible ?
    Par guidav dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/01/2007, 15h18

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