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 :

Surcharger une méthode clone()


Sujet :

avec Java

  1. #21
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    L'important est de remonter l'exception et de ne surtout pas l'ignorer, avec l'exception source comme parent...

    Pour le reste c'est à l'appréciation de chacun. Perso j'ai pris l'habitude d'utiliser RuntimeException mais on pourrait utiliser n'importe quoi, y compris une exception perso.



    Mais en fait le top du top serait de remonter directement CloneNotSupportedException comme si c'était une unchecked-exception, afin que le compilateur ne bronche pas lorsqu'on ne la traite pas...
    Ce qui n'est malheureusement pas autoriser par le langage pour le moment... (même s'il existe un "hack" permettant cela - j'essayerais de détailler cela dans un billet blog si j'ai un peu de temps).


    a++

  2. #22
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Merci pour vos conseils mais j'ai un petit soucis pour implémenter Cloneable.

    Ma classe Personne implémente déjà autre chose...
    Est il possible de faire deux implements pour une même classe? Comment faire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class Person implements uneInterface implements Cloneable {...}
    ne fonctionne pas je suppose...

    Merci d'avance.

  3. #23
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Bien sûr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Person implements uneInterface, Cloneable {...}

  4. #24
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Par défaut
    Citation Envoyé par dingoth Voir le message
    À y réfléchir, ne serait-il pas plus correct de lancer une Error dans ce cas ?
    Oui lancer une erreur c'est plus judicieux je pense et c'est plus clair pour tout le monde, un InternalError encapsulant l'exception ne laissera pas d'ambiguïté..
    La java doc de UnsupportedOperationException dit qu'on lance cette excpetion si l'opération n'est pas supportée alors que dans notre cas il s'est passé une erreur qu'on s'attendait pas du tout si on implémente bien Cloneable et on autorise le clonage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Object clone() {
       try{
    	return super.clone();
       }catch(Exception e) {
           throw new XXXException(e); //une unchecked exception
       }
    }
    Voila

Discussions similaires

  1. Surcharger une méthode dans une dll.
    Par Slashyguigui dans le forum C#
    Réponses: 5
    Dernier message: 22/09/2011, 09h15
  2. [Doctrine] Surcharger une méthode gérée par __call()
    Par Chekov dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/09/2009, 23h12
  3. Surcharger une méthode
    Par daddycorp dans le forum Langage
    Réponses: 6
    Dernier message: 16/12/2008, 10h55
  4. "Dé-surcharger" une méthode native javascript
    Par Takezo1584 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2007, 12h37
  5. [Custom Tags] Problème avec une surcharge de méthode
    Par Strab dans le forum Taglibs
    Réponses: 19
    Dernier message: 26/08/2005, 16h34

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