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 :

Une classe pour servir de bibliothèque de fonctions ?


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 31
    Points : 10
    Points
    10
    Par défaut Une classe pour servir de bibliothèque de fonctions ?
    Bonjour à tous.

    Je suis actuellement en train d'apprendre le Java ce pourquoi j'ai un projet à réaliser, dans lequel j'utilise en particulier la classe Calendar.
    Or dans tout mon programme j'ai besoin de Calendar qui sont initialisés d'une certaine manière. A la base j'avais prévu de faire une classe CalendarPerso qui héritait de Calendar et qui l'initialisait correctement dans le constructeur, mais Calendar est une classe abstraite qu'on ne peut pas instancier autrement qu'en faisant Calendar c = Calendar.getInstance(), du coup impossible d'en hériter directement.

    Donc à l'heure actuelle j'utilise une classe nommée FonctionsCalendar dans laquelle je mets mes fonctions de manipulation des Calendar, si bien qu'à chaque fois que j'instancie ou manipule un Calendar je dois faire quelque chose du type FonctionsCalendar.methode(Calendar.getInstance()) ou FonctionsCalendar.methode(c.get(Calendar.MONTH)) etc, ce qui est assez lourd et ne me semble pas vraiment être l'usage normal d'une classe.

    Qu'en pensez-vous SVP ?

  2. #2
    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
    Hello,

    Citation Envoyé par Tokapi Voir le message
    A la base j'avais prévu de faire une classe CalendarPerso qui héritait de Calendar et qui l'initialisait correctement dans le constructeur, mais Calendar est une classe abstraite qu'on ne peut pas instancier autrement qu'en faisant Calendar c = Calendar.getInstance(), du coup impossible d'en hériter directement.
    Rien ne t'empêche, par contre, de faire une composition : tu fais une classe avec un Calendar dedans.

    Citation Envoyé par Tokapi Voir le message
    Donc à l'heure actuelle j'utilise une classe nommée FonctionsCalendar dans laquelle je mets mes fonctions de manipulation des Calendar, si bien qu'à chaque fois que j'instancie ou manipule un Calendar je dois faire quelque chose du type FonctionsCalendar.methode(Calendar.getInstance()) ou FonctionsCalendar.methode(c.get(Calendar.MONTH)) etc, ce qui est assez lourd et ne me semble pas vraiment être l'usage normal d'une classe.
    Une idée serait d'avoir FonctionsCalendar.methode(c) quand tu as un calendar, et FonctionsCalendar.methode() quand tu souhaites que le calendar soit créé pour toi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/01/2015, 17h36
  2. Précision sur fonction static d'une classe pour Thread
    Par thebop dans le forum Threads & Processus
    Réponses: 9
    Dernier message: 22/06/2009, 14h18
  3. [Wiki] Cherche une classe pour fonctions de base d'un wiki
    Par Delphy113 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/06/2008, 18h06
  4. Réponses: 5
    Dernier message: 18/11/2007, 01h15
  5. Réponses: 7
    Dernier message: 08/01/2005, 13h24

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