parametre avec valeur par defaut c'est possible?

parametre avec valeur par defaut c'est possible? - Java - Programmation

Marsh Posté le 05-06-2003 à 13:20:20    

Salut.
 
Je viens de débuter une formation afpa de dev Java, je découvre le language.
Et a la facon dont mon formateur me presente ce language, et bien j'ai l'impression que c'est un language qui est opposé ma ma logique de programmation.
Je commence a envisager, d'abandonner la formation. J'aimerai donc que vous eclairiez un peu ma lanternes sur certains aspects de ce language, qui me semblent plus noirs que noir.
 
par exemple :
 
Je souhaite déclarer une fonction avec un parametre (disons int) qui puisse avoir une valeur par defaut.
 
aller un petit exemple plus parlant qu'un long discourt :
 
public static mafonction (int toto = 1)
{
 System.out.println(toto);
}
 
main(String[] args)
{
mafonction();
mafonction(2);
}
 
resultat affiché :
 
1
2
 
Evidemment si je compile ce code, le compilateur me jete. Je demande donc a mon formateur comment declarer une fonction avec parametre par defaut.
il me dit que si l'argument represente une reference ca n'est pas possible (ok ca se comprend), puis il me dit que si le parametre est une primitive , alors il faut
déclarer en double la fonction comme ce qui suit :
 
public static mafonction (int toto = 1)
{
 System.out.println(toto);
}
 
public static mafonction ()
{
 int toto = 1;
 System.out.println(toto);
}
 
main(String[] args)
{
mafonction();
mafonction(2);
}
 
resultat affiché :
 
1
2
 
Je lui répond alors que je suis géné de devoir copier/coller des blocs de code, car si on doit modifier ce bloc, il faut reporté la modif sur toutes ses copies,
et chacun c'est que c'est le meilleur moyen pour se planter (ou oublie de modifier l'un des bloc).
il me répond : bah c'est ca java.
 
 
Alors voila, j'aimerai que vous me confirmiez on ou contre disez ses dires, car là je suis sur le luc!!!

Reply

Marsh Posté le 05-06-2003 à 13:20:20   

Reply

Marsh Posté le 05-06-2003 à 14:13:52    

Je confirme les dires de ton formateur. Java ne permet pas de donner aux paramètres des valeurs par défaut comme en C++. Par contre ne va pas tout recopier !! Tu peux juste surcharger ta methode avec moins de parametres et appeler ta methode par defaut.
 
Ex :
 

Code :
  1. class maClasse
  2. {
  3.   void maMethode (int val)
  4.   {
  5.     System.out.println(coucou);
  6.   }
  7.   void maMethode ()
  8.   {
  9.     x = 1;
  10.     maMethode (x);
  11.   }
  12. }


Message édité par senternal le 05-06-2003 à 14:17:07
Reply

Marsh Posté le 05-06-2003 à 14:17:47    

senternal a écrit :

Je confirme les dires de ton formateur. Java ne permet pas de donner aux paramètres des valeurs par défaut comme en C++. Par contre ne va pas tout recopier !! Tu peux juste surcharger ta methode avec moins de parametres et appeler ta methode par defaut.
 
Ex :
 

Code :
  1. class maClasse
  2. {
  3.   void maMethode (int val)
  4.   {
  5.     System.out.println(coucou);
  6.   }
  7.   void maMethode ()
  8.   {
  9.     x = 1;
  10.     maMethode (x);
  11.   }
  12. }




 
...ce qui ne s'appelle pas surcharger, mais bon!

Reply

Marsh Posté le 05-06-2003 à 14:28:52    

El_gringo a écrit :


 
...ce qui ne s'appelle pas surcharger, mais bon!


 
Ah c'est nouveau ? T'appelles ca comment ? Si tu me dis redefinition je ne suis pas d'accord. Rédéfinition implique une sous-classe dans laquelle ta methode est implementée differemment.

Reply

Marsh Posté le 05-06-2003 à 14:31:33    

El_gringo a écrit :


 
...ce qui ne s'appelle pas surcharger, mais bon!


 
correct [:boccolini]
 
EDIT : quoique, j'ai comme un doute :heink:


Message édité par bobuse le 05-06-2003 à 14:32:15

---------------
get amaroK plugin
Reply

Marsh Posté le 05-06-2003 à 14:32:56    

senternal a écrit :


Ah c'est nouveau ? T'appelles ca comment ? Si tu me dis redefinition je ne suis pas d'accord. Rédéfinition implique une sous-classe dans laquelle ta methode est implementée differemment.


 
La surcharge, c'est ce que t'appelles redéfinition.
Ce que tu lui disais de faire, c'est de faire une autre méthode, tout bêtement.

Reply

Marsh Posté le 05-06-2003 à 14:34:31    

senternal a écrit :


 
Ah c'est nouveau ? T'appelles ca comment ? Si tu me dis redefinition je ne suis pas d'accord. Rédéfinition implique une sous-classe dans laquelle ta methode est implementée differemment.


 
quand dans une sous-classe, on redefinit une methode qui a les meme param que dans la super-classe, la c'est clair que c'est de la surcharge ?
 
Mais redefinir une fonction avec d'autres params ... pas sur


---------------
get amaroK plugin
Reply

Marsh Posté le 05-06-2003 à 14:43:36    

overriding != overloading :o
vous vous embrouillez avec vos traductions à la noix :sarcastic:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 05-06-2003 à 14:46:00    

bobuse a écrit :


 
quand dans une sous-classe, on redefinit une methode qui a les meme param que dans la super-classe, la c'est clair que c'est de la surcharge ?
 
Mais redefinir une fonction avec d'autres params ... pas sur


 
Enfin moi ce que j'en dis...
 
overloading ou surcharge
Utiliser un identificateur pour se référer à plusieurs éléments dans le même cadre. Dans Java, vous pouvez surcharger des méthodes mais pas des variables ni des opérateurs.  
 
overriding ou redéfinition
Fournit une mise en oeuvre de méthode différente dans une sous-classe de la classe ayant défini la méthode à l'origine.

Reply

Marsh Posté le 05-06-2003 à 14:54:42    

senternal a écrit :


 
Enfin moi ce que j'en dis...
 
overloading ou surcharge
Utiliser un identificateur pour se référer à plusieurs éléments dans le même cadre. Dans Java, vous pouvez surcharger des méthodes mais pas des variables ni des opérateurs.  
 
overriding ou redéfinition
Fournit une mise en oeuvre de méthode différente dans une sous-classe de la classe ayant défini la méthode à l'origine.  


 
...exact, désolé! :jap:

Reply

Marsh Posté le 05-06-2003 à 14:54:42   

Reply

Marsh Posté le 05-06-2003 à 18:14:53    

ok merci les gars, j'avais d'ailleur par moi meme découvert cette methode. Par contre, il semblerait qu'il ne soit pas possible de faire ceci (si vous avez une soluce, welcome boy):

Code :
  1. class maClasse
  2. {
  3. void maMethode (int val)
  4. {
  5.    System.out.println(val);
  6. }
  7. void maMethode ()
  8. {   
  9.    maMethode (x);
  10. }
  11. }
  12. class main
  13. {
  14. public static int x = 1;
  15. maMethode ()
  16. }


 
  :whistle:
 
PS : mon formateur m'impose de ne JAMAIS utiliser de variable globale, sous peine de lourde pertes de points au TP.[:chipp]


Message édité par giova le 05-06-2003 à 18:19:02
Reply

Marsh Posté le 05-06-2003 à 18:17:44    

[:mlc]
 
ta formation, elle a duré 10 minutes :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 05-06-2003 à 18:19:40    

Alors Java c'est de l'objet. C'est pas parce que tu as deux classes dans le même fichier source qu'elle vont tout connaître parfaitement. Pour faire un main(), il faut que tu déclares la fonction main() dans ta classe. Exemple :

Code :
  1. class maClasse 
  2. private int x = 1;
  3. void maMethode (int val) 
  4.   System.out.println(val); 
  5. void maMethode () 
  6. {   
  7.   maMethode (x); 
  8. }
  9. public static void main(String args[])
  10. {
  11.   maClasse mc = new maClasse();
  12.   mc.maMethode();
  13. }
  14. }


 
Essaie de bien capter la notion d'objet et de POO avant de t'attaquer direct à tout ça.


Message édité par Taiche le 05-06-2003 à 18:20:33

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 05-06-2003 à 18:19:50    

the real moins moins a écrit :

[:mlc]
 
ta formation, elle a duré 10 minutes :??:


non elle a commencé il y a 3 semaines, jusqu'en avril prochain (AFPA Rouen)


Message édité par giova le 05-06-2003 à 18:20:02
Reply

Marsh Posté le 05-06-2003 à 18:21:32    

giova a écrit :


non elle a commencé il y a 3 semaines, jusqu'en avril prochain (AFPA Rouen)


[:mlc] La formation d'un an :lol:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 06-06-2003 à 13:19:37    

Taiche a écrit :


[:mlc] La formation d'un an :lol:


 
 :??: qu'est ce qu'il y a de si drole la dedans?  :??:

Reply

Marsh Posté le 06-06-2003 à 13:22:01    


 
merci pour tes réponses Taiche.
 
j'attaque la prog objet dans un mois.


Message édité par giova le 06-06-2003 à 13:23:22
Reply

Marsh Posté le 06-06-2003 à 13:44:59    

giova a écrit :


 :??: qu'est ce qu'il y a de si drole la dedans?  :??:  


Bin qu'une formation Java d'un an, ça fait un peu beaucoup quand même [:ddr555]
Mais je comprends pas un truc : vous avez attaqué Java AVANT les notions de POO ? :??:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 06-06-2003 à 15:00:28    

Taiche a écrit :


Bin qu'une formation Java d'un an, ça fait un peu beaucoup quand même [:ddr555]
Mais je comprends pas un truc : vous avez attaqué Java AVANT les notions de POO ? :??:  

à priori c pas une formation intensive, et pas pour des gens experimentés en prog hein ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-06-2003 à 15:06:06    

the real moins moins a écrit :

à priori c pas une formation intensive, et pas pour des gens experimentés en prog hein ;)


Ah oké. M'enfin j'pige toujours pas pourquoi y a Java avant POO, dans leur planning :/ Tant pis.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 06-06-2003 à 15:18:59    

Taiche a écrit :


Ah oké. M'enfin j'pige toujours pas pourquoi y a Java avant POO, dans leur planning :/ Tant pis.

si y'a un cours tous les 2 mois ça se tient :D
 
moi j'ai commencé à faire du java en "traduisant" un truc que j'avais fait avant en php... ben c'etait pas tres objet :D mais ça marchait :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-06-2003 à 17:01:42    

giova a écrit :

merci pour tes réponses Taiche.
 
j'attaque la prog objet dans un mois.


Le problème c'est que java ce n'est QUE objet , et en programation objet, une variable globale ça n'a pas bcp de sens.
 
Le C++ tient ça du C non ? Quelqu'un pourrait me confirmer ? Car moi je dis ça mais bon... :D

Reply

Marsh Posté le 06-06-2003 à 17:04:41    

the real moins moins a écrit :

moi j'ai commencé à faire du java en "traduisant" un truc que j'avais fait avant en php


 
 
.......  :whistle:  
 
 
non rien :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 06-06-2003 à 18:49:04    

on a commencé par la programation procedurale (conditionnelles, types, variables, fonctions), le prochain "chapitre" sera la POO.
 
oui le niveau est vraiment faible, en fait tout depend du centre AFPA ou tu vas, et il faut savoir que les delais d'attente pour etre pris sont de plus de 1 an. J'ai malgres tout accepté d'y aller, car j'en avais marre d'attendre, et si j'ai choisi une formation aussi longue c'est pour arretter de programmer comme un bricoleur, et donc bien maitriser toutes les etapes de conception d'un soft, la methodologie de programmation, bref programmer propre, que mes softs utilisent un minimum de ressource, et ne pas perdre de temps lors d'un developpement a cause d'une conception qui a la base n'est pas optimale.
 
malheureusement, je suis assez septique sur l'avenir de cette formation, j'ai encore 2 semaines pour me rétracter.
 
Sachant que certains stagiaires, ne savent pas faire la difference entre un repertoire et un fichier (vous comprennez ainsi mon septicisme)... Je suis persuadé que l'on ne va que survoller les chapitres, et qu'en fin de compte, j'obtiendrai le meme resultat en achetant un livre sur Java. Le seul point positif, et que l'on obtient un certificat nous donnant un status de developpeur Java  :??: .
 
 
deja ca fait 2 semaines que je m'emmerde a mort, alors dans mon coin je me fais mes classes, ma boite a outils quoi...
 
A la base, j'ai demandé une formation C++ car ce qui m'interresse, c'est le pilotage de peripherique. Mais je n'arrive pas a trouver de personne qui:
1- soit competante techniquement pour m'orienter
2- connaisse les formations dispo par rapport a ce que je recherche.
 
j'ai bossé 4 ans en tant que programmeur dans de l'automatisme audiovisuelle, et j'ai un Bac STI Elec.
 
voila.

Reply

Marsh Posté le 06-06-2003 à 20:14:23    

deltaden a écrit :


Le problème c'est que java ce n'est QUE objet , et en programation objet, une variable globale ça n'a pas bcp de sens.


 
chui pas d'accord :o
 
une variable globale, c'est une variable de classe, et au meme titre que les methodes statiques, ca a un sens, c'est une variable qui est propre a une classe, pas a ses instances.

Reply

Marsh Posté le 06-06-2003 à 20:30:41    

souk a écrit :


chui pas d'accord :o
 
une variable globale, c'est une variable de classe, et au meme titre que les methodes statiques, ca a un sens, c'est une variable qui est propre a une classe, pas a ses instances.


SI on est d'accord, :)
toi tu parle de variable de classe, évidement que ça a un sens.
 
En C/C++ tu peux définir des variables/méthodes qui sont globales: elles n'appartiennent à aucunes classes. C'est de ça que je parlais

Reply

Marsh Posté le 06-06-2003 à 21:03:38    


pkoi pas tout simplement comme ca :  

Code :
  1. class maClasse  { 
  2.    void maMethode (int val) { 
  3.       System.out.println(val); 
  4.    } 
  5.    void maMethode () {   
  6.       maMethode(1); 
  7.    }
  8.    public static void main(String args[]){
  9.       maClasse mc = new maClasse();
  10.       mc.maMethode();
  11.    }
  12. }



---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 06-06-2003 à 22:02:55    

oui biensur que l'on peut faire comme ca, mais dans ton code, tu precise une valeur fixe, et non une variable déclarée dans une autre classe que maClasse :)

Reply

Marsh Posté le 06-06-2003 à 22:23:28    

giova a écrit :

oui biensur que l'on peut faire comme ca, mais dans ton code, tu precise une valeur fixe, et non une variable déclarée dans une autre classe que maClasse :)


dans toutes les solutions données, la variable était déclarée dans la classe ...
 
j'ai loupé un truc ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 06-06-2003 à 22:58:45    

DarkLord a écrit :


 
 
.......  :whistle:  
 
 
non rien :D

[:spamafote]
 
je pense avoir bien intégré la notiopn d'objet :o
je dis pas que je maitrise mais bon :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-06-2003 à 23:01:00    

giova a écrit :

on a commencé par la programation procedurale (conditionnelles, types, variables, fonctions), le prochain "chapitre" sera la POO.
 
oui le niveau est vraiment faible, en fait tout depend du centre AFPA ou tu vas, et il faut savoir que les delais d'attente pour etre pris sont de plus de 1 an. J'ai malgres tout accepté d'y aller, car j'en avais marre d'attendre, et si j'ai choisi une formation aussi longue c'est pour arretter de programmer comme un bricoleur, et donc bien maitriser toutes les etapes de conception d'un soft, la methodologie de programmation, bref programmer propre, que mes softs utilisent un minimum de ressource, et ne pas perdre de temps lors d'un developpement a cause d'une conception qui a la base n'est pas optimale.
 
malheureusement, je suis assez septique sur l'avenir de cette formation, j'ai encore 2 semaines pour me rétracter.
 
Sachant que certains stagiaires, ne savent pas faire la difference entre un repertoire et un fichier (vous comprennez ainsi mon septicisme)... Je suis persuadé que l'on ne va que survoller les chapitres, et qu'en fin de compte, j'obtiendrai le meme resultat en achetant un livre sur Java. Le seul point positif, et que l'on obtient un certificat nous donnant un status de developpeur Java  :??: .
 
 
deja ca fait 2 semaines que je m'emmerde a mort, alors dans mon coin je me fais mes classes, ma boite a outils quoi...
 
A la base, j'ai demandé une formation C++ car ce qui m'interresse, c'est le pilotage de peripherique. Mais je n'arrive pas a trouver de personne qui:
1- soit competante techniquement pour m'orienter
2- connaisse les formations dispo par rapport a ce que je recherche.
 
j'ai bossé 4 ans en tant que programmeur dans de l'automatisme audiovisuelle, et j'ai un Bac STI Elec.
 
voila.

bah si t'as deja plus que des notions en prog, pour le java tu te prends un bon bouquin sur java (voir la faq) + ça http://hillside.net/patterns/DPBook/DPBook.html et t'es paré ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-06-2003 à 00:26:44    

benou a écrit :


pkoi pas tout simplement comme ca  


[++] c'est tout bonnement la méthode standard et _équivalente_ a la notation C++.
 
D'ailleur on retrouve ce type de bêbête avec le lambda calcul (où, si on est puriste, on a le droit qu'à un seul paramètre par expression).

Reply

Marsh Posté le 07-06-2003 à 08:03:05    

deltaden a écrit :


SI on est d'accord, :)
toi tu parle de variable de classe, évidement que ça a un sens.
 
En C/C++ tu peux définir des variables/méthodes qui sont globales: elles n'appartiennent à aucunes classes. C'est de ça que je parlais


 
oops, au temps pour moi  :jap:

Reply

Marsh Posté le 07-06-2003 à 10:45:41    

Taiche a écrit :


Mais je comprends pas un truc : vous avez attaqué Java AVANT les notions de POO ? :??:  


 
À l'école j'ai eu ça
Du coup je faisais du procédural en JAVA (c'est pas facile ! :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 07-06-2003 à 12:14:04    

benou a écrit :


pkoi pas tout simplement comme ca :  


:??: La différence avec mon truc, c'est que tu vires une variable privée pour mettre direct la constante dans la méthode. Alors OK, dans cet exemple c'est éviedemment bien mieux, mais de manière générale, quitte à hardcoder des valeurs, autant les foutre en variables privées passke le jour où tu changes la valeur dans ton prog pour une raison X, bin t'es pas dans la merde :/
'fin moi j'dis ça, j'me trompe p'têt [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 07-06-2003 à 23:26:36    

Taiche a écrit :


:??: La différence avec mon truc, c'est que tu vires une variable privée pour mettre direct la constante dans la méthode. Alors OK, dans cet exemple c'est éviedemment bien mieux, mais de manière générale, quitte à hardcoder des valeurs, autant les foutre en variables privées passke le jour où tu changes la valeur dans ton prog pour une raison X, bin t'es pas dans la merde :/
'fin moi j'dis ça, j'me trompe p'têt [:spamafote]


Je pense que les valeurs par défaut doivent être les valeurs triviales (genre 0, 1, chaine vide, etc.). Sinon, si ce sont les "valeurs courantes" du paramètre (genre par défaut le zoom est à 2x etc.) alors il doit exister un moyen des les régler dans l'application (sinon, tu risques de recevoir une lettre enflamée de Bertrand Meyer).

Reply

Marsh Posté le 07-06-2003 à 23:41:33    

nraynaud a écrit :


Je pense que les valeurs par défaut doivent être les valeurs triviales (genre 0, 1, chaine vide, etc.). Sinon, si ce sont les "valeurs courantes" du paramètre (genre par défaut le zoom est à 2x etc.) alors il doit exister un moyen des les régler dans l'application (sinon, tu risques de recevoir une lettre enflamée de Bertrand Meyer).  


Bin oui mais si c'est des valeurs que t'as pas envie d'exposer ?
OK pour la valeur publique avec le zoom, où des getters/setters peuvent exister pour changer. Mais dans le cas d'une variable propre au dev ou à l'admin, genre une taille de buffer max que, lorsque tu fabriques ton appli tu positionnes à 1024 pis un jour t'apprends (ou tu testes) que la valeur optimale c'est 2048, bin une variable privée c'est quand même bien pratique. Non ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 08-06-2003 à 00:32:46    

Taiche a écrit :


Bin oui mais si c'est des valeurs que t'as pas envie d'exposer ?
OK pour la valeur publique avec le zoom, où des getters/setters peuvent exister pour changer. Mais dans le cas d'une variable propre au dev ou à l'admin, genre une taille de buffer max que, lorsque tu fabriques ton appli tu positionnes à 1024 pis un jour t'apprends (ou tu testes) que la valeur optimale c'est 2048, bin une variable privée c'est quand même bien pratique. Non ?


Si je crois aussi.
 
Je suis en train de constater que j'utilise jamais 2 fois le même nom pour une méthode.
 
Ah oui tiens, je suis en train de repenser à Meyer (encore oui, désolé c'est le meilleur bouquin que j'ai lu jusqu'a maintenant) : en gros il existe 2 types d'arguments à une fonction, les paramètres du traitement (les trucs indispensables) et les options (les trucs qui justement, ont souvent une valeur par défaut).
Son principe est le suivant : on passe jamais une option à une fonction, elle ira la chercher toute seule dans la classe (l'option possède des setter/getter). On passe bien entendu les paramètres du traitement, ils sont un peu là pour ça.
 
C'est pourquoi :
1) ta solution est pas mal et je me suis un peu égaré dans le fonctionnel
2) Eiffel ne possède ni surcharge (de toute façon c'est impossible avec la covariance) ni surcharge avec un nombre d'arguments différents.

Reply

Marsh Posté le 08-06-2003 à 02:01:18    

nraynaud a écrit :


Si je crois aussi.
 
Je suis en train de constater que j'utilise jamais 2 fois le même nom pour une méthode.
 
Ah oui tiens, je suis en train de repenser à Meyer (encore oui, désolé c'est le meilleur bouquin que j'ai lu jusqu'a maintenant) : en gros il existe 2 types d'arguments à une fonction, les paramètres du traitement (les trucs indispensables) et les options (les trucs qui justement, ont souvent une valeur par défaut).
Son principe est le suivant : on passe jamais une option à une fonction, elle ira la chercher toute seule dans la classe (l'option possède des setter/getter). On passe bien entendu les paramètres du traitement, ils sont un peu là pour ça.
 
C'est pourquoi :
1) ta solution est pas mal et je me suis un peu égaré dans le fonctionnel
2) Eiffel ne possède ni surcharge (de toute façon c'est impossible avec la covariance) ni surcharge avec un nombre d'arguments différents.


:jap:
Faudra que j'pense à le lire un jour, Meyer :whistle:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 12-06-2003 à 10:59:55    

Taiche a écrit :


Bin qu'une formation Java d'un an, ça fait un peu beaucoup quand même [:ddr555]
Mais je comprends pas un truc : vous avez attaqué Java AVANT les notions de POO ? :??:  


C'est tout à fait logique : il faut avoir assimilé les notions de boucles, de test conditionnel, de fonction avant de se lancer dans la programmation objet. Et on peut tout à fait se restreindre au procédural en Java avec de bien faibles contraintes (en gros, on met static partout, sans trop avoir à comprendre pourquoi, au moins au début).
 
Pourquoi Java alors qu'on se limite au procédural ? Parce que ça évite d'avoir à apprendre un 2ème langage une fois qu'on passe à la POO.
 
Tu vas me dire, il y a d'autres langages qui supportent les deux (procédural et objet), contrairement à Java. Mais C++ est un langage abominable quand on apprend à programmer, et Ada, qui reste sans doute un des meilleurs langages, voire le meilleur langage, pour l'apprentissage, est souvent dénigré au prétexte qu'il n'est pas diffusé dans l'industrie (en fait, il est massivement utilisé dans quelques secteurs de l'industrie, et le reste de l'industrie l'ignore pour des raisons un peu obscures).

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed