Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

question de debutant sur la classe

9 réponses
Avatar
artintel
Bonjour,

Une classe c'est comme un type construit avec des fonctions en plus ?

Par exemple la classe voiture

a comme attributs:
etatMoteur:booleen
direction:string
plaque:string

a comme methodes:
Demarrer
Accellerer
s'arreter

Un objet c'est une instance de la classe ?
Par exemple ma voiture avec sa plaque a elle ?

9 réponses

Avatar
xael
a écrit :
Bonjour,

Une classe c'est comme un type construit avec des fonctions en plus ?

Par exemple la classe voiture

a comme attributs:
etatMoteur:booleen
direction:string
plaque:string

a comme methodes:
Demarrer
Accellerer
s'arreter

Un objet c'est une instance de la classe ?
Par exemple ma voiture avec sa plaque a elle ?


La classe c'est comme un moule à gâteau. Elle créera des objets à son
image, comme le gâteau est l'image du moule.
Avatar
artintel
Bonjour,

Oui, je commence a comprendre ;o) Je viens de reussir "peniblement
"hello world" avec une console java de jdk1.6.0_12 ;o)
Merci pour ta reponse ;o)

On 16 fév, 20:35, xael wrote:
a écrit :



> Bonjour,

> Une classe c'est comme un type construit avec des fonctions en plus ?

> Par exemple la classe voiture

> a comme attributs:
> etatMoteur:booleen
> direction:string
> plaque:string

> a comme methodes:
> Demarrer
> Accellerer
> s'arreter

> Un objet c'est une instance de la classe ?
> Par exemple ma voiture avec sa plaque a elle ?

La classe c'est comme un moule à gâteau. Elle créera des objets à son
image, comme le gâteau est l'image du moule.- Masquer le texte des mess ages précédents -

- Afficher le texte des messages précédents -


Avatar
artintel
J'ai donc "hello world" affiche a partir de "mesage.class" genere a
partir de "mesage.java" :

class mesage {
public static void main (String[] args){
System.out.println("Hello World");

}
}

Comment je fais pour passer un texte, afin d'afficher le texte que je
passe en argument en tapant en console ms-dos :

JAVA mesage mon_texte_a_afficher ?

Je dois creer une autre classe texte_a_afficher,

Declarer une variable dans "mesage.java" appartenant a la classe
classe texte_a_afficher,

instancier cette classe en appelant le programme et en passant
l'argument qui instancie la classe texte_a_afficher ?
Avatar
Fatal
a écrit :
J'ai donc "hello world" affiche a partir de "mesage.class" genere a
partir de "mesage.java" :

class mesage {
public static void main (String[] args){
System.out.println("Hello World");

}
}

Comment je fais pour passer un texte, afin d'afficher le texte que je
passe en argument en tapant en console ms-dos :

JAVA mesage mon_texte_a_afficher ?

Je dois creer une autre classe texte_a_afficher,

Declarer une variable dans "mesage.java" appartenant a la classe
classe texte_a_afficher,

instancier cette classe en appelant le programme et en passant
l'argument qui instancie la classe texte_a_afficher ?



Pour débuter je vous conseille de regarder du côté de la classe
JOptionPane qui permet d'afficher de petites popups dont une qui permet
d'entrer une valeur.

--
Fatal
Avatar
xael
a écrit :
J'ai donc "hello world" affiche a partir de "mesage.class" genere a
partir de "mesage.java" :

class mesage {
public static void main (String[] args){
System.out.println("Hello World");

}
}

Comment je fais pour passer un texte, afin d'afficher le texte que je
passe en argument en tapant en console ms-dos :

JAVA mesage mon_texte_a_afficher ?

Je dois creer une autre classe texte_a_afficher,

Declarer une variable dans "mesage.java" appartenant a la classe
classe texte_a_afficher,

instancier cette classe en appelant le programme et en passant
l'argument qui instancie la classe texte_a_afficher ?



Je ne sais pas si j'ai bien saisi ta question alors tu as droit à deux
réponses :

- pour saisir du texte en mode console, il y a de nombreuses techniques,
la plus classique est sans doute celle-ci :
// une méthode qui attend qu'un texte + entrée soit entré dans la
console, puis retourne ce texte sous forme d'un String.
public static String saisie_string() throws IOException {
BufferedReader inr = new BufferedReader(new InputStreamReader(System.in));
return (inr.readLine());
}

- pour passer un texte en argument via la commande qui lance ton
programme, il faut te servir de l'attribut "String[] args" de la classe
main, qui n'est pas là pour décorer... C'est un tableau qui contient les
arguments passés. Par exemple si tu lance ton programme avec la commande :
java mesage toto
alors tu retrouvera la chaine "toto" dans args[0] (un tableau ou matrice
est numéroté à partir de zéro).
Donc au lieu de faire :
System.out.println("Hello World");
Tu fais :
System.out.println("Hello " + args[0]);
Et ensuite, la commande donnera :
Hello toto

Attention si tu ne passe pas d'argument du coup tu aura une erreur car
le programme essayera de parcourir une matrice vide. "Out of bounds
exception", c'est une des erreurs les plus courantes.
Avatar
artintel
OK...... ;o) J'ai repris ton code :

class mesage {
public static void main (String[] argument){
System.out.println(argument[0]);

}
}

Bon, il faut maintenant que je vois ce dont "est capable" la classe
main qui n'est pas la pour decorer ;o) .... C'est la peche sur google,
attributs de la classe main .... La je patauge un peu... Si je
comprends bien, il y a une classe main, donc un fichier main.java avec
des attributs, donc elle est dans mon SDK..... Je trouve bien un
fichier C:ProgramFilesJavajdk1.6.0_12samplejnlpjreinstallersrc
shareclassesjnlpsampleJreInstallermain.java... mais si je
l'ouvre en edition, ca fait peur ;o) Je veux bien qu'elle soit pas une
decoration mais quand meme ;o) Il y a pas une "aide" en ligne avec le
SDK ou je "verrai" ce qu'est la classe main ?


On 17 fév, 13:51, xael wrote:
a écrit :





> J'ai donc "hello world" affiche a partir de "mesage.class" genere a
> partir de "mesage.java"  :

> class mesage {
>    public static void main (String[] args){
>            System.out.println("Hello World");

>    }
> }

> Comment je fais pour passer un texte, afin d'afficher le texte que je
> passe en argument en tapant en console ms-dos :

> JAVA mesage mon_texte_a_afficher ?

> Je dois creer une autre classe texte_a_afficher,

> Declarer une variable dans "mesage.java" appartenant a la classe
> classe texte_a_afficher,

> instancier cette classe en appelant le programme et en passant
> l'argument qui instancie la classe texte_a_afficher ?

Je ne sais pas si j'ai bien saisi ta question alors tu as droit à deux
réponses :

- pour saisir du texte en mode console, il y a de nombreuses techniques,
   la plus classique est sans doute celle-ci :
// une méthode qui attend qu'un texte + entrée soit entré dans la
console, puis retourne ce texte sous forme d'un String.
public static String saisie_string() throws IOException {
        BufferedReader inr = new BufferedReader(new InputStream Reader(System.in));
        return (inr.readLine());

}

- pour passer un texte en argument via la commande qui lance ton
programme, il faut te servir de l'attribut "String[] args" de la classe
main, qui n'est pas là pour décorer... C'est un tableau qui contient les
arguments passés. Par exemple si tu lance ton programme avec la command e :
java mesage toto
alors tu retrouvera la chaine "toto" dans args[0] (un tableau ou matrice
est numéroté à partir de zéro).
Donc au lieu de faire :
System.out.println("Hello World");
Tu fais :
System.out.println("Hello " + args[0]);
Et ensuite, la commande donnera :
Hello toto

Attention si tu ne passe pas d'argument du coup tu aura une erreur car
le programme essayera de parcourir une matrice vide. "Out of bounds
exception", c'est une des erreurs les plus courantes.- Masquer le texte d es messages précédents -

- Afficher le texte des messages précédents -


Avatar
Christian Laborde
Bien sûr, il y a google. Il y a aussi de bons tutoriels sur
Internet. Cependant pour débuter, rien ne vaut un bon livre
d'initiation. Voir aussi Bluej.

Salut.

a écrit :
OK...... ;o) J'ai repris ton code :

class mesage {
public static void main (String[] argument){
System.out.println(argument[0]);

}
}

Bon, il faut maintenant que je vois ce dont "est capable" la classe
main qui n'est pas la pour decorer ;o) .... C'est la peche sur google,
attributs de la classe main .... La je patauge un peu... Si je
comprends bien, il y a une classe main, donc un fichier main.java avec
des attributs, donc elle est dans mon SDK..... Je trouve bien un
fichier C:ProgramFilesJavajdk1.6.0_12samplejnlpjreinstallersrc
shareclassesjnlpsampleJreInstallermain.java... mais si je
l'ouvre en edition, ca fait peur ;o) Je veux bien qu'elle soit pas une
decoration mais quand meme ;o) Il y a pas une "aide" en ligne avec le
SDK ou je "verrai" ce qu'est la classe main ?


On 17 fév, 13:51, xael wrote:
a écrit :





J'ai donc "hello world" affiche a partir de "mesage.class" genere a
partir de "mesage.java" :
class mesage {
public static void main (String[] args){
System.out.println("Hello World");
}
}
Comment je fais pour passer un texte, afin d'afficher le texte que je
passe en argument en tapant en console ms-dos :
JAVA mesage mon_texte_a_afficher ?
Je dois creer une autre classe texte_a_afficher,
Declarer une variable dans "mesage.java" appartenant a la classe
classe texte_a_afficher,
instancier cette classe en appelant le programme et en passant
l'argument qui instancie la classe texte_a_afficher ?


Je ne sais pas si j'ai bien saisi ta question alors tu as droit à deux
réponses :

- pour saisir du texte en mode console, il y a de nombreuses techniques,
la plus classique est sans doute celle-ci :
// une méthode qui attend qu'un texte + entrée soit entré dans la
console, puis retourne ce texte sous forme d'un String.
public static String saisie_string() throws IOException {
BufferedReader inr = new BufferedReader(new InputStreamReader(System.in));
return (inr.readLine());

}

- pour passer un texte en argument via la commande qui lance ton
programme, il faut te servir de l'attribut "String[] args" de la classe
main, qui n'est pas là pour décorer... C'est un tableau qui contient les
arguments passés. Par exemple si tu lance ton programme avec la commande :
java mesage toto
alors tu retrouvera la chaine "toto" dans args[0] (un tableau ou matrice
est numéroté à partir de zéro).
Donc au lieu de faire :
System.out.println("Hello World");
Tu fais :
System.out.println("Hello " + args[0]);
Et ensuite, la commande donnera :
Hello toto

Attention si tu ne passe pas d'argument du coup tu aura une erreur car
le programme essayera de parcourir une matrice vide. "Out of bounds
exception", c'est une des erreurs les plus courantes.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -






--
Christian Laborde
La Révolution citoyenne, c'est sur : http://c.lab.over-blog.com/
Le forum des électrons libres :
http://electrons-libres.forumactif.fr
True E-mail : remove -no-spam-
Sentier des Vinches
CH 1091 Grandvaux
Suisse
Avatar
xael
a écrit :
OK...... ;o) J'ai repris ton code :

class mesage {
public static void main (String[] argument){
System.out.println(argument[0]);

}
}

Bon, il faut maintenant que je vois ce dont "est capable" la classe
main qui n'est pas la pour decorer ;o) .... C'est la peche sur google,
attributs de la classe main .... La je patauge un peu... Si je
comprends bien, il y a une classe main, donc un fichier main.java avec
des attributs, donc elle est dans mon SDK..... Je trouve bien un
fichier C:ProgramFilesJavajdk1.6.0_12samplejnlpjreinstallersrc
shareclassesjnlpsampleJreInstallermain.java... mais si je
l'ouvre en edition, ca fait peur ;o) Je veux bien qu'elle soit pas une
decoration mais quand meme ;o) Il y a pas une "aide" en ligne avec le
SDK ou je "verrai" ce qu'est la classe main ?


On 17 fév, 13:51, xael wrote:
a écrit :





J'ai donc "hello world" affiche a partir de "mesage.class" genere a
partir de "mesage.java" :
class mesage {
public static void main (String[] args){
System.out.println("Hello World");
}
}
Comment je fais pour passer un texte, afin d'afficher le texte que je
passe en argument en tapant en console ms-dos :
JAVA mesage mon_texte_a_afficher ?
Je dois creer une autre classe texte_a_afficher,
Declarer une variable dans "mesage.java" appartenant a la classe
classe texte_a_afficher,
instancier cette classe en appelant le programme et en passant
l'argument qui instancie la classe texte_a_afficher ?


Je ne sais pas si j'ai bien saisi ta question alors tu as droit à deux
réponses :

- pour saisir du texte en mode console, il y a de nombreuses techniques,
la plus classique est sans doute celle-ci :
// une méthode qui attend qu'un texte + entrée soit entré dans la
console, puis retourne ce texte sous forme d'un String.
public static String saisie_string() throws IOException {
BufferedReader inr = new BufferedReader(new InputStreamReader(System.in));
return (inr.readLine());

}

- pour passer un texte en argument via la commande qui lance ton
programme, il faut te servir de l'attribut "String[] args" de la classe
main, qui n'est pas là pour décorer... C'est un tableau qui contient les
arguments passés. Par exemple si tu lance ton programme avec la commande :
java mesage toto
alors tu retrouvera la chaine "toto" dans args[0] (un tableau ou matrice
est numéroté à partir de zéro).
Donc au lieu de faire :
System.out.println("Hello World");
Tu fais :
System.out.println("Hello " + args[0]);
Et ensuite, la commande donnera :
Hello toto

Attention si tu ne passe pas d'argument du coup tu aura une erreur car
le programme essayera de parcourir une matrice vide. "Out of bounds
exception", c'est une des erreurs les plus courantes.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -





lol
non, non, tu t'égares étranger...
en fait je t'ai induit en erreur, et ça en java quand on débute ça fait
mal... En fait il s'agit de la MÉTHODE main... mille excuses
Ne va pas chercher trop loin car il existe des classes Main çà et là
mais celà n'a rien à voir avec la question du jour :p
Donc je résume, pour pouvoir être "exécutable" une classe java doit
contenir un méthode main, et cette méthode est dite statique (C'est à
dire que ta classe Mesage n'est pas vraiment un "objet" à 100% puisque
on n'a pas besoin de l'instancier (de faire "new") pour s'en servir).
Cette méthode "main" est lue automatiquement au lancement de la classe
Mesage, comme le fichier autoexec.bat qui est lu automatiquement au
démarrage de l'ordinateur. Et cette méthode main qui se lance
obligatoirement quoiqu'on fasse peut recevoir des arguments depuis la
ligne de commande grace au tableau Strings args[]. A ce propos, je te
déconseille de rebaptiser "args[]" en "argument[]", sinon tu vas te
faire enguueeeuuler (néanmoins cela fonctionne).
Avatar
artintel
Ha.... Merci :o) Bon, j'ai un peu du mal, mais je m'y mets ;o) Je
cherche donc un tutoriel logiciel, on m'a indique effectivement bluej

http://www.bluej.org/doc/tutorial.html

et penser java

http://bruce-eckel.developpez.com/livres/java/traduction/tij2/

Merci encore, ca m'a beaucoup aide a demarrer ;o)


On 17 fév, 18:02, xael wrote:
a écrit :



> OK...... ;o) J'ai repris ton code :

> class mesage {
>    public static void main (String[] argument){
>            System.out.println(argument[0]);

>    }
> }

> Bon, il faut maintenant que je vois ce dont "est capable" la classe
> main qui n'est pas la pour decorer ;o) .... C'est la peche sur google,
> attributs de la classe main .... La je patauge un peu... Si je
> comprends bien, il y a une classe main, donc un fichier main.java avec
> des attributs, donc elle est dans mon SDK..... Je trouve bien un
> fichier C:ProgramFilesJavajdk1.6.0_12samplejnlpjreinstallersrc
> shareclassesjnlpsampleJreInstallermain.java... mais si je
> l'ouvre en edition, ca fait peur ;o) Je veux bien qu'elle soit pas une
> decoration mais quand meme ;o) Il y a pas une "aide" en ligne avec le
> SDK ou je "verrai" ce qu'est la classe main ?

> On 17 fév, 13:51, xael wrote:
>> a écrit :

>>> J'ai donc "hello world" affiche a partir de "mesage.class" genere a
>>> partir de "mesage.java"  :
>>> class mesage {
>>>    public static void main (String[] args){
>>>            System.out.println("Hello World");
>>>    }
>>> }
>>> Comment je fais pour passer un texte, afin d'afficher le texte que je
>>> passe en argument en tapant en console ms-dos :
>>> JAVA mesage mon_texte_a_afficher ?
>>> Je dois creer une autre classe texte_a_afficher,
>>> Declarer une variable dans "mesage.java" appartenant a la classe
>>> classe texte_a_afficher,
>>> instancier cette classe en appelant le programme et en passant
>>> l'argument qui instancie la classe texte_a_afficher ?
>> Je ne sais pas si j'ai bien saisi ta question alors tu as droit à de ux
>> réponses :

>> - pour saisir du texte en mode console, il y a de nombreuses technique s,
>>    la plus classique est sans doute celle-ci :
>> // une méthode qui attend qu'un texte + entrée soit entré dans l a
>> console, puis retourne ce texte sous forme d'un String.
>> public static String saisie_string() throws IOException {
>>         BufferedReader inr = new BufferedReader(new InputStr eamReader(System.in));
>>         return (inr.readLine());

>> }

>> - pour passer un texte en argument via la commande qui lance ton
>> programme, il faut te servir de l'attribut "String[] args" de la class e
>> main, qui n'est pas là pour décorer... C'est un tableau qui contie nt les
>> arguments passés. Par exemple si tu lance ton programme avec la comm ande :
>> java mesage toto
>> alors tu retrouvera la chaine "toto" dans args[0] (un tableau ou matri ce
>> est numéroté à partir de zéro).
>> Donc au lieu de faire :
>> System.out.println("Hello World");
>> Tu fais :
>> System.out.println("Hello " + args[0]);
>> Et ensuite, la commande donnera :
>> Hello toto

>> Attention si tu ne passe pas d'argument du coup tu aura une erreur car
>> le programme essayera de parcourir une matrice vide. "Out of bounds
>> exception", c'est une des erreurs les plus courantes.- Masquer le text e des messages précédents -

>> - Afficher le texte des messages précédents -

lol
non, non, tu t'égares étranger...
en fait je t'ai induit en erreur, et ça en java quand on débute ça fait
mal... En fait il s'agit de la MÉTHODE main... mille excuses
Ne va pas chercher trop loin car il existe des classes Main çà et l à
mais celà n'a rien à voir avec la question du jour :p
Donc je résume, pour pouvoir être "exécutable" une classe java doit
contenir un méthode main, et cette méthode est dite statique (C'est à
dire que ta classe Mesage n'est pas vraiment un "objet" à 100% puisque
on n'a pas besoin de l'instancier (de faire "new") pour s'en servir).
Cette méthode "main" est lue automatiquement au lancement de la classe
Mesage, comme le fichier autoexec.bat qui est lu automatiquement au
démarrage de l'ordinateur. Et cette méthode main qui se lance
obligatoirement quoiqu'on fasse peut recevoir des arguments depuis la
ligne de commande grace au tableau Strings args[]. A ce propos, je te
déconseille de rebaptiser "args[]" en "argument[]", sinon tu vas te
faire enguueeeuuler (néanmoins cela fonctionne).- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -