Ayant beaucoup programmé en C/C++, je suis en train de me mettre au
java. Etant donné qu'il n'existe pas de pointeurs, je me demande comment
on fait pour résoudre certains problèmes.
Comment fait une fonction pour renvoyer plusieurs paramètres ? En C++,
on passait un pointeurs vers des variables que la fonction devait
modifier. Par ex:
// fonction qui "renvoie" trois entiers
void ma_fonction(int *p1, int *p2, int *p3)
{
*p1 = 4;
*p2 = 5;
*p3 = 10;
}
Evidemment, on pourrait mettre des variables à retourner en global, ou
renvoyer une référence vers un objet qui contient les données, mais
c'est vraiment compliqué !
C'est le principal problème auquel j'ai pensé. Y-en a-t-il d'autres
importants, et quelles sont les remèdes ?
Une des solutions classique consiste à passer un tableau à un seul élément:
int [] p1 = new int[1]; int [] p2 = new int[1]; int [] p3 = new int[1];
ma_fonction(p1, p2, p3);
euh, quitte à bricoler, pourquoi ne pas passer directement des Integer ? en plus avec java 5 y'a même l'autoboxing pour donner un coup de main !
Integer est immutable .... On ne peut pas modifier la valeur d'un Integer (même chose pour un String d'ailleurs).
Cédric
Bruno Jouhier
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message de
news: t%cxd.783470$8_6.326701@attbi_s04...
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La
programmation orientee objet est a la programmation objet ce que le steak
de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de
C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object
oriented" programming, pas d' "object programming". Et le livre référence de
B Meyer, c'est "Object Oriented Software Construction", pas "Object Software
Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation
"orientée objet", si on s'en tient aux sources. C'est pour ça que je te
demande tes références sur la différence entre "orienté objet" et "objet
tout court". Ca me parait plutôt fumeux (ou personnel).
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du
troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
Bruno Jouhier
"euler" a écrit dans le message de news:
Bruno Jouhier wrote:
Une des solutions classique consiste à passer un tableau à un seul élément:
int [] p1 = new int[1]; int [] p2 = new int[1]; int [] p3 = new int[1];
ma_fonction(p1, p2, p3);
euh, quitte à bricoler, pourquoi ne pas passer directement des Integer ? en plus avec java 5 y'a même l'autoboxing pour donner un coup de main !
Non, ça ne marche pas. Integer est immutable! Quant à l'autoboxing, ça ne résout pas non plus le pb posé.
J'ai mentionné cette méthode car elle est parfois utilisée pour interfacer Java avec des APIs écrite en C ou C++. En Java, je préfère la solution plus orientée objet ci-dessous.
ou alors, tu peux introduire une classe ayant p1, p2, p3 pour membres et passer une instance de cette classe, ou bien coder ta méthode pour qu'elle alloue une instance de cette classe pour retourner les 3 infos d'un coup.
Ce qui est pratique en Java, c'est que tu n'as pas à te préoccuper de la libération de ces objets intermédiaires.
Si ça te pose vraiment problème, tu peux regarder le langage C#.
restons polis s.v.p :-D
Soyons curieux, plutôt!
[...]
"euler" <euler@hotmail.com> a écrit dans le message de news:
41c55f6a_3@news.bluewin.ch...
Bruno Jouhier wrote:
Une des solutions classique consiste à passer un tableau à un seul
élément:
int [] p1 = new int[1];
int [] p2 = new int[1];
int [] p3 = new int[1];
ma_fonction(p1, p2, p3);
euh, quitte à bricoler, pourquoi ne pas passer directement des Integer ?
en
plus avec java 5 y'a même l'autoboxing pour donner un coup de main !
Non, ça ne marche pas. Integer est immutable! Quant à l'autoboxing, ça ne
résout pas non plus le pb posé.
J'ai mentionné cette méthode car elle est parfois utilisée pour interfacer
Java avec des APIs écrite en C ou C++. En Java, je préfère la solution plus
orientée objet ci-dessous.
ou alors, tu peux introduire une classe ayant p1, p2, p3 pour membres et
passer une instance de cette classe, ou bien coder ta méthode pour
qu'elle
alloue une instance de cette classe pour retourner les 3 infos d'un coup.
Ce qui est pratique en Java, c'est que tu n'as pas à te préoccuper de la
libération de ces objets intermédiaires.
Si ça te pose vraiment problème, tu peux regarder le langage C#.
Une des solutions classique consiste à passer un tableau à un seul élément:
int [] p1 = new int[1]; int [] p2 = new int[1]; int [] p3 = new int[1];
ma_fonction(p1, p2, p3);
euh, quitte à bricoler, pourquoi ne pas passer directement des Integer ? en plus avec java 5 y'a même l'autoboxing pour donner un coup de main !
Non, ça ne marche pas. Integer est immutable! Quant à l'autoboxing, ça ne résout pas non plus le pb posé.
J'ai mentionné cette méthode car elle est parfois utilisée pour interfacer Java avec des APIs écrite en C ou C++. En Java, je préfère la solution plus orientée objet ci-dessous.
ou alors, tu peux introduire une classe ayant p1, p2, p3 pour membres et passer une instance de cette classe, ou bien coder ta méthode pour qu'elle alloue une instance de cette classe pour retourner les 3 infos d'un coup.
Ce qui est pratique en Java, c'est que tu n'as pas à te préoccuper de la libération de ces objets intermédiaires.
Si ça te pose vraiment problème, tu peux regarder le langage C#.
restons polis s.v.p :-D
Soyons curieux, plutôt!
[...]
Marc Petit-Huguenin
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java, Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee Objet", tu remplace par "C++".
Il est content comme ca, le quadricapillotectomiste?
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message de
news: t%cxd.783470$8_6.326701@attbi_s04...
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La
programmation orientee objet est a la programmation objet ce que le steak
de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de
C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object
oriented" programming, pas d' "object programming". Et le livre référence de
B Meyer, c'est "Object Oriented Software Construction", pas "Object Software
Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation
"orientée objet", si on s'en tient aux sources. C'est pour ça que je te
demande tes références sur la différence entre "orienté objet" et "objet
tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java,
Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee
Objet", tu remplace par "C++".
Il est content comme ca, le quadricapillotectomiste?
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du
troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java, Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee Objet", tu remplace par "C++".
Il est content comme ca, le quadricapillotectomiste?
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
Bruno Jouhier
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java, Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee Objet", tu remplace par "C++".
On s'en fout de ce que tu dis. Ce qui compte c'est la terminologie qu'utilisent les vrais experts.
Il est content comme ca, le quadricapillotectomiste?
Ce n'est pas moi qui coupe les cheveux en 4, c'est toi qui introduit des distinctions sans fondement et confusionnantes. Pourquoi qqun qui a appris la programmation "orientée" objet avec Smalltalk et Eiffel devrait-il du jour au lendemain changer de vocabulaire. Si c'est juste pour te faire plaisir, c'est un peu faible.
Bruno.
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message de
news: jlfxd.596521$D%.60183@attbi_s51...
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message
de news: t%cxd.783470$8_6.326701@attbi_s04...
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La
programmation orientee objet est a la programmation objet ce que le
steak
de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de
C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object
oriented" programming, pas d' "object programming". Et le livre référence
de B Meyer, c'est "Object Oriented Software Construction", pas "Object
Software Construction". Donc Smalltalk et Eiffel, c'est bien de la
programmation "orientée objet", si on s'en tient aux sources. C'est pour
ça que je te demande tes références sur la différence entre "orienté
objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java,
Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee
Objet", tu remplace par "C++".
On s'en fout de ce que tu dis. Ce qui compte c'est la terminologie
qu'utilisent les vrais experts.
Il est content comme ca, le quadricapillotectomiste?
Ce n'est pas moi qui coupe les cheveux en 4, c'est toi qui introduit des
distinctions sans fondement et confusionnantes. Pourquoi qqun qui a appris
la programmation "orientée" objet avec Smalltalk et Eiffel devrait-il du
jour au lendemain changer de vocabulaire. Si c'est juste pour te faire
plaisir, c'est un peu faible.
Bruno.
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du
troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java, Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee Objet", tu remplace par "C++".
On s'en fout de ce que tu dis. Ce qui compte c'est la terminologie qu'utilisent les vrais experts.
Il est content comme ca, le quadricapillotectomiste?
Ce n'est pas moi qui coupe les cheveux en 4, c'est toi qui introduit des distinctions sans fondement et confusionnantes. Pourquoi qqun qui a appris la programmation "orientée" objet avec Smalltalk et Eiffel devrait-il du jour au lendemain changer de vocabulaire. Si c'est juste pour te faire plaisir, c'est un peu faible.
Bruno.
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
Bruno Jouhier
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des objets (des noms) au lieu d'être centrée autour des traitements (des verbes). Ca a donc un sens technique précise, et il suffit de relire les bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne serait qu'orienté, par rapport à des langages qui seraient "totalement" objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java, Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee Objet", tu remplace par "C++".
Il est content comme ca, le quadricapillotectomiste?
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message de
news: jlfxd.596521$D%.60183@attbi_s51...
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message
de news: t%cxd.783470$8_6.326701@attbi_s04...
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La
programmation orientee objet est a la programmation objet ce que le
steak
de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de
C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté"
dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des
objets (des noms) au lieu d'être centrée autour des traitements (des
verbes). Ca a donc un sens technique précise, et il suffit de relire les
bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne
serait qu'orienté, par rapport à des langages qui seraient "totalement"
objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object
oriented" programming, pas d' "object programming". Et le livre référence
de B Meyer, c'est "Object Oriented Software Construction", pas "Object
Software Construction". Donc Smalltalk et Eiffel, c'est bien de la
programmation "orientée objet", si on s'en tient aux sources. C'est pour
ça que je te demande tes références sur la différence entre "orienté
objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java,
Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee
Objet", tu remplace par "C++".
Il est content comme ca, le quadricapillotectomiste?
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du
troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des objets (des noms) au lieu d'être centrée autour des traitements (des verbes). Ca a donc un sens technique précise, et il suffit de relire les bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne serait qu'orienté, par rapport à des langages qui seraient "totalement" objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Dans le livre d'Adele Goldberg (Smalltalk 80), il s'agit d' "object oriented" programming, pas d' "object programming". Et le livre référence de B Meyer, c'est "Object Oriented Software Construction", pas "Object Software Construction". Donc Smalltalk et Eiffel, c'est bien de la programmation "orientée objet", si on s'en tient aux sources. C'est pour ça que je te demande tes références sur la différence entre "orienté objet" et "objet tout court". Ca me parait plutôt fumeux (ou personnel).
Ok, a chaque fois que je dis "Programmation Objet", tu remplace par "Java, Effeil ou Smalltalk", et a chaque fois que je dis "Programmation Orientee Objet", tu remplace par "C++".
Il est content comme ca, le quadricapillotectomiste?
Bruno.
Vous avez un papier qui explique un peu la différence, ou c'est juste du troll sans intérêt?
Si tu pense que c'est un troll, alors pourquoi repondre?
Bruno.
Boogabi
Comment fait une fonction pour renvoyer plusieurs paramètres ? En C++, on passait un pointeurs vers des variables que la fonction devait modifier. Par ex:
// fonction qui "renvoie" trois entiers void ma_fonction(int *p1, int *p2, int *p3) { *p1 = 4; *p2 = 5; *p3 = 10; }
Non, on ne fait surtout pas ça en C++, mais en C. En C++, on a le passage par référence, et on l'utilise.
void ma_fonction(int &p1, int &p2, int &p3) { p1 = 4; p2 = 5; p3 = 10; }
Passer des pointeurs dans ce cas est "sale" et peu pratique à l'usage.
En Java, on renvoit effectivement un objet ou un tableau (remarque qu'en C++ aussi).
Comment fait une fonction pour renvoyer plusieurs paramètres ? En C++,
on passait un pointeurs vers des variables que la fonction devait
modifier. Par ex:
// fonction qui "renvoie" trois entiers
void ma_fonction(int *p1, int *p2, int *p3)
{
*p1 = 4;
*p2 = 5;
*p3 = 10;
}
Non, on ne fait surtout pas ça en C++, mais en C. En C++, on a le
passage par référence, et on l'utilise.
void ma_fonction(int &p1, int &p2, int &p3) {
p1 = 4;
p2 = 5;
p3 = 10;
}
Passer des pointeurs dans ce cas est "sale" et peu pratique à l'usage.
En Java, on renvoit effectivement un objet ou un tableau (remarque qu'en
C++ aussi).
Comment fait une fonction pour renvoyer plusieurs paramètres ? En C++, on passait un pointeurs vers des variables que la fonction devait modifier. Par ex:
// fonction qui "renvoie" trois entiers void ma_fonction(int *p1, int *p2, int *p3) { *p1 = 4; *p2 = 5; *p3 = 10; }
Non, on ne fait surtout pas ça en C++, mais en C. En C++, on a le passage par référence, et on l'utilise.
void ma_fonction(int &p1, int &p2, int &p3) { p1 = 4; p2 = 5; p3 = 10; }
Passer des pointeurs dans ce cas est "sale" et peu pratique à l'usage.
En Java, on renvoit effectivement un objet ou un tableau (remarque qu'en C++ aussi).
Marc Petit-Huguenin
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des objets (des noms) au lieu d'être centrée autour des traitements (des verbes). Ca a donc un sens technique précise, et il suffit de relire les bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne serait qu'orienté, par rapport à des langages qui seraient "totalement" objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Petit complexe de superiorite, hein? Ca passera.
Puisse que tu insiste lourdement, oui, tu as totalement raison, j'utilisais le terme a tord. Je voulais dire que C++ n'etait pas un langage purement objet.
Et sur ces bonnes paroles, ce thread est termine et les messages suivant seront >/dev/null.
-- Marc Petit-Huguenin Home: Work:
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message de
news: jlfxd.596521$D%.60183@attbi_s51...
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message
de news: t%cxd.783470$8_6.326701@attbi_s04...
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La
programmation orientee objet est a la programmation objet ce que le
steak
de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de
C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté"
dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des
objets (des noms) au lieu d'être centrée autour des traitements (des
verbes). Ca a donc un sens technique précise, et il suffit de relire les
bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne
serait qu'orienté, par rapport à des langages qui seraient "totalement"
objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Petit complexe de superiorite, hein? Ca passera.
Puisse que tu insiste lourdement, oui, tu as totalement raison,
j'utilisais le terme a tord. Je voulais dire que C++ n'etait pas un
langage purement objet.
Et sur ces bonnes paroles, ce thread est termine et les messages suivant
seront >/dev/null.
--
Marc Petit-Huguenin
Home: marc@petit-huguenin.org
Work: marc@8x8.com
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des objets (des noms) au lieu d'être centrée autour des traitements (des verbes). Ca a donc un sens technique précise, et il suffit de relire les bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne serait qu'orienté, par rapport à des langages qui seraient "totalement" objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Petit complexe de superiorite, hein? Ca passera.
Puisse que tu insiste lourdement, oui, tu as totalement raison, j'utilisais le terme a tord. Je voulais dire que C++ n'etait pas un langage purement objet.
Et sur ces bonnes paroles, ce thread est termine et les messages suivant seront >/dev/null.
-- Marc Petit-Huguenin Home: Work:
Bruno Jouhier
"Marc Petit-Huguenin" a écrit dans le message de news: W0wxd.530179$
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des objets (des noms) au lieu d'être centrée autour des traitements (des verbes). Ca a donc un sens technique précise, et il suffit de relire les bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne serait qu'orienté, par rapport à des langages qui seraient "totalement" objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Petit complexe de superiorite, hein? Ca passera.
C'est passé. Depuis longtemps...
Puisse que tu insiste lourdement, oui, tu as totalement raison, j'utilisais le terme a tord. Je voulais dire que C++ n'etait pas un langage purement objet.
L'erreur est humaine. Si j'ai lourdement insisté, c'est parce que je pensais qu'il y avait un contresens. Ca m'arrive aussi (de me faire reprendre sur un forum parce que je raconte des conneries).
Bruno.
Et sur ces bonnes paroles, ce thread est termine et les messages suivant seront >/dev/null.
-- Marc Petit-Huguenin Home: Work:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message de
news: W0wxd.530179$wV.198236@attbi_s54...
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message
de news: jlfxd.596521$D%.60183@attbi_s51...
Bruno Jouhier wrote:
"Marc Petit-Huguenin" <marc@petit-huguenin.org> a écrit dans le message
de news: t%cxd.783470$8_6.326701@attbi_s04...
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La
programmation orientee objet est a la programmation objet ce que le
steak
de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais
de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot
"orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des
objets (des noms) au lieu d'être centrée autour des traitements (des
verbes). Ca a donc un sens technique précise, et il suffit de relire les
bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il
ne serait qu'orienté, par rapport à des langages qui seraient
"totalement" objet). Si c'est comme ça que tu le comprends, c'est un
contresens.
Bruno.
Petit complexe de superiorite, hein? Ca passera.
C'est passé. Depuis longtemps...
Puisse que tu insiste lourdement, oui, tu as totalement raison,
j'utilisais le terme a tord. Je voulais dire que C++ n'etait pas un
langage purement objet.
L'erreur est humaine. Si j'ai lourdement insisté, c'est parce que je pensais
qu'il y avait un contresens. Ca m'arrive aussi (de me faire reprendre sur un
forum parce que je raconte des conneries).
Bruno.
Et sur ces bonnes paroles, ce thread est termine et les messages suivant
seront >/dev/null.
--
Marc Petit-Huguenin
Home: marc@petit-huguenin.org
Work: marc@8x8.com
"Marc Petit-Huguenin" a écrit dans le message de news: W0wxd.530179$
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: jlfxd.596521$D%
Bruno Jouhier wrote:
"Marc Petit-Huguenin" a écrit dans le message de news: t%cxd.783470$
Bruno Jouhier wrote:
[1] Programmer objet, pas programmer oriente objet comme en C++. La programmation orientee objet est a la programmation objet ce que le steak de soja est a la cote de boeuf.
Smalltalk, Eiffel, c'est du steak de soja?
Non, smalltalk et eiffel, c'est de la programmation objet. Je parlais de C++.
J'ai l'impression que tu te plantes totalement sur le sens du mot "orienté" dans orienté objet.
"Orienté objet", ça veut dire que la programmation est centrée autour des objets (des noms) au lieu d'être centrée autour des traitements (des verbes). Ca a donc un sens technique précise, et il suffit de relire les bons auteurs (Adele Goldberg par ex) pour s'en convaincre.
Ca ne veut pas du tout dire que le langage n'est qu'à moitié objet (qu'il ne serait qu'orienté, par rapport à des langages qui seraient "totalement" objet). Si c'est comme ça que tu le comprends, c'est un contresens.
Bruno.
Petit complexe de superiorite, hein? Ca passera.
C'est passé. Depuis longtemps...
Puisse que tu insiste lourdement, oui, tu as totalement raison, j'utilisais le terme a tord. Je voulais dire que C++ n'etait pas un langage purement objet.
L'erreur est humaine. Si j'ai lourdement insisté, c'est parce que je pensais qu'il y avait un contresens. Ca m'arrive aussi (de me faire reprendre sur un forum parce que je raconte des conneries).
Bruno.
Et sur ces bonnes paroles, ce thread est termine et les messages suivant seront >/dev/null.
-- Marc Petit-Huguenin Home: Work:
Sébastien
En Java, on renvoit effectivement un objet ou un tableau (remarque qu'en C++ aussi).
je dirais plutôt qu'en Java (et en C++) on renvoit un objet et PAS un tableau dans ce cas. Car, visiblement, les entiers ont des sens différents. Et il n'y a rien de plus inutilisable que d'avoir une fonction qui retourne un tableau dans lequel se trouve l'âge du capitaine à l'indice 0, le nombre de matelots à l'indice 1 et la taille du bateau à l'indice 2. Une collection ou un tableau ne doit pas être utilisée pour simuler une pseudo structure en contenant des éléments conceptuellement différents les uns des autres.
Sébastien
En Java, on renvoit effectivement un objet ou un tableau (remarque qu'en
C++ aussi).
je dirais plutôt qu'en Java (et en C++) on renvoit un objet et PAS un tableau dans ce cas.
Car, visiblement, les entiers ont des sens différents. Et il n'y a rien de plus inutilisable que
d'avoir une fonction qui retourne un tableau dans lequel se trouve l'âge du capitaine à l'indice 0,
le nombre de matelots à l'indice 1 et la taille du bateau à l'indice 2.
Une collection ou un tableau ne doit pas être utilisée pour simuler une pseudo structure en
contenant des éléments conceptuellement différents les uns des autres.
En Java, on renvoit effectivement un objet ou un tableau (remarque qu'en C++ aussi).
je dirais plutôt qu'en Java (et en C++) on renvoit un objet et PAS un tableau dans ce cas. Car, visiblement, les entiers ont des sens différents. Et il n'y a rien de plus inutilisable que d'avoir une fonction qui retourne un tableau dans lequel se trouve l'âge du capitaine à l'indice 0, le nombre de matelots à l'indice 1 et la taille du bateau à l'indice 2. Une collection ou un tableau ne doit pas être utilisée pour simuler une pseudo structure en contenant des éléments conceptuellement différents les uns des autres.