• Aucun résultat trouvé

Exercices dExercices d’’applicationapplicationCréer un programme Java «UtiliseVoiture.java»permettant de déclarer une variable de type entier «int».

N/A
N/A
Protected

Academic year: 2022

Partager "Exercices dExercices d’’applicationapplicationCréer un programme Java «UtiliseVoiture.java»permettant de déclarer une variable de type entier «int»."

Copied!
5
0
0

Texte intégral

(1)

Exercices d

Exercices d’ ’application application

Créer un programme Java « UtiliseVoiture .java » permettant de déclarer une variable de type entier « int ».

10

public class UtiliseVoiture {

public static void main(String args[]){

int unEntier;

} }

Exercices d

Exercices d’ ’application application

Complétez le programme précédent pour déclarer une variable de type

« Voiture ». Que se passe t-il et pourquoi ?

11

public class UtiliseVoiture{

public static void main(String args[]){

int unEntier;

Voiture uneVoiture ; }

}

Complétez le programme précédent pour déclarer une variable de type

« Voiture ». Que se passe t-il et pourquoi ?

12

public class UtiliseVoiture{

public static void main(String args[]){

int unEntier;

Voiture uneVoiture ; }

}

La compilation échoue car le type « Voiture » est inconnu. On ne peut pas créer d’objet « Voiture ».

Pour pouvoir créer un objet « Voiture », il faut décrire ce qu’est une voiture.

Exercices d

Exercices d’ ’application application

Fournir le code permettant de créer la classe Voiture avec les propriétés privées marque, couleur, année et NumeroSerie. Compilez ensuite votre code pour créer la classe « Voiture »

13

public class Voiture{

private int numSerie;

private String marque;

private String couleur;

private int annee;

}

Ce code source java peut être compilé grâce à la commande

« javac ».

Par contre, il ne peut pas être exécuté. Un voiture n’est pas exécutable en tant que telle. La classe Voiture n’a été créée que pour définir des objets de type « Voiture ».

Tous les objets qui seront créés en ayant le type « Voiture » posséderont toutes les caractéristiques que nous avons écrites dans la classe « Voiture ».

Exercices d

Exercices d’ ’application application

En utilisant la classe « Voiture », créer 2 voitures dans votre programme

« UtiliseVoiture ».

14

public class UtiliseVoiture{

public static void main(String args[]){

int unEntier;

Voiture uneVoiture ; uneVoiture = new Voiture();

Voiture uneAutreVoiture =new Voiture();

} }

Question : Est-il possible d’afficher de quelle couleur sont nos 2 voitures ?

Exercices d

Exercices d’ ’application application

Fournir le code permettant de créer la classe Produit avec les propriétés privées nomProduit et prix.

15

public class Produit {

private String libelle;

private double prix;

}

Exercices d

Exercices d’ ’application application

(2)

Créer un produit dans un programme « UtiliseProduit ».

16

public class UtiliseProduit {

public static void main(String args[]){

Produit p;

p = new Produit();

} }

Exercices d

Exercices d’ ’application application

Dans ce cas, nous avons créé un produit « p ». Il n’a pas de nom, ni de prix.

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

17

Exercices d

Exercices d’ ’application application

Afin de pouvoir affecter des valeurs aux propriétés privées des produits, il faut créer des méthodes publiques qui vont accéder elles-mêmes aux propriétés privées du produit.

Ces méthodes sont à écrire dans la classe « Produit ».

Ces méthodes particulières qui permettent d’affecter une valeur à une propriété s’appellent des « setteurs » ou « modificateurs ». On les nomme généralement de la façon suivante

« setNomPropriété ».

Exemple : Le setteur qui valorise le libellé s’appellera

« setLibelle »

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

18

Exercices d

Exercices d’ ’application application

Les setteurs permettent de mettre à jour une propriété d’un objet à partir d’une information qu’ils reçoivent. Le nom et le type de paramètre reçu doit être indiqué comme paramètre en entrée du setteur.

Exemple : Pour le setteur « setLibelle » qui permet de mettre à jour le libellé d’un produit, il faut déclarer un paramètre nommé

« unLibellé » qui est de type « String », c'est-à-dire une chaîne de caractères

setLibelle(String unLibelle)

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

19

Exercices d

Exercices d’ ’application application

Les setteurs reçoivent un paramètre mais ne retournent aucune information à celui qui leur envoie ce paramètre. Le type particulier qui indique « Rien » se nomme « void ».

Toutes les méthodes doivent indiquer le type d’information retournée.

Dans notre exemple, on écrira : void setLibelle(String unLibelle)

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

Exercices d

Exercices d’ ’application application

Afin de pouvoir être appelé, le setteur doit être déclaré « public » Dans notre exemple, on écrira donc : public void

setLibelle(String unLibelle)

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

Exercices d

Exercices d’ ’application application

Le contenu des actions à exécuter lors de l’appel d’une méthode est délimité par des accolades.

Dans notre exemple, on écrira donc : public void setLibelle(String unLibelle){

}

(3)

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

22

Exercices d

Exercices d’ ’application application

Le setteur doit récupérer la valeur du paramètre reçu en entrée (unLibelle) et l’affecter à la propriété adéquate (Libelle). Afin de bien préciser qu’on affecte la valeur reçue à la propriété du produit et à pas à une variable quelconque, on peut faire précéder le nom de la propriété par le mot clé « this »

Dans notre exemple, on écrira donc : public void setLibelle(String unLibelle){

this.libelle = unLibelle ; }

Remarque : toutes les instructions se terminent par un point virgule.

Créer maintenant un produit qui porte le nom « Chocolat » et qui a un prix de 1,50 euro.

23

public class Produit{

private String libelle;

private double prix;

public void setLibelle(String unLibelle){

this.libelle = unLibelle;

}

public void setPrix(double unPrix){

this.prix = unPrix;

} }

Exercices d

Exercices d’ ’application application

Créer maintenant votre produit « Chocolat » à 1,50 euro.

Nous utilisons la notation pointée pour appeler les méthodes publiques du produit

« p ». Il est obligatoire de transmettre les valeurs attendues par les méthodes.

Ici, la méthode « setLibelle » attend une chaîne de caractères en entrée ; on lui fournit donc la chaîne « Chocolat ».

La méthode « setPrix » attend un réel en entrée ; on lui fournit donc le nombre

« 1.50 ».

Remarque : Contrairement aux chaînes de caractères, les nombres ne sont pas

encadrées par des guillemets.

24

public class UtiliseProduit{

public static void main(String args[]){

Produit p;

p = new Produit();

p.setLibelle("Chocolat");

p.setPrix(1.50);

} }

Exercices d

Exercices d’ ’application application

Nous avons donc maintenant créé un produit qui a pour libellé

« Chocolat » et pour prix « 1.50 ».

Maintenant, essayons d’afficher notre produit.

Puisque nous ne pouvons pas accéder aux propriétés privées, il va falloir créer des méthodes publiques qui vont accéder à ces propriétés.

Contrairement aux setteurs, ces méthodes ne reçoivent aucune information mais en retournent. On appelle ces méthodes des « getteurs » ou des « accesseurs ».

Modifions donc notre classe Produit pour lui créer 2 getteurs

25 public class Produit{

private String libelle;

private double prix;

public void setLibelle(String unLibelle){

this.libelle = unLibelle;

}

public void setPrix(String unPrix){

this.prix = unPrix;

}

public String getLibelle(){

return this.libelle;

}

public String getPrix(){

return this.prix;

} }

Exercices d

Exercices d’ ’application application

Affichons maintenant notre produit.

26

public class UtiliseProduit{

public static void main(String args[]){

Produit p;

p = new Produit();

p.setLibelle("Chocolat");

p.setPrix(1.50);

System.out.println("Notre

produit "+p.getLibelle()+" coute "+p.getPrix());

} }

Exercices d

Exercices d’ ’application application

Modifiez votre classe « Produit » afin que le programme ci-dessous fonctionne. Le produit doit être capable d’afficher ses propriétés lorsqu’on lui demande de s’afficher. Il doit donc être doté de la méthode affiche.

.

27 public class UtiliseProduit{

public static void main(String args[]){

Produit p;

p = new Produit();

p.setLibelle("Chocolat");

p.setPrix(1.50);

p.affiche();

} }

Exercices d

Exercices d’ ’application application

(4)

Modifiez votre classe « Produit » afin que le programme ci-dessous fonctionne. Le produit doit être capable d’afficher ses propriétés lorsqu’on lui demande de s’afficher. Il doit donc être doté de la méthode affiche.

.

28 public class UtiliseProduit{

public static void main(String args[]){

Produit p;

p = new Produit();

p.setLibelle("Chocolat");

p.setPrix(1.50);

p.affiche();

} }

_______________________________________________________________

public class Produit{

private String libelle;

private double prix;

…/…

public void affiche(){

System.out.println("Notre produit "+this.libelle+"

coute "+this.prix);

} }

Exercices d

Exercices d’ ’application application

Modifiez votre classe « Produit » afin que le programme ci-dessous fonctionne. Le produit doit être capable de retourner une chaîne de caractères contenant les informations le concernant. Il doit donc être doté de la méthode « toString ».

Cette façon de faire est la meilleure des 3 car la classe métier (classe produit) est dissociée de la classe applicative (UtiliseProduit). De cette manière, la classe Produit peut être ré-utilisée quelque soit le traitement (mode console, mode graphique, traitement batch, wap…)

.

29

public class UtiliseProduit {

public static void main(String args[]) { Produit p;

p = new Produit();

p.setLibelle("Chocolat");

p.setPrix(1.50) ;

System.out.println(p.toString());

}}

Exercices d

Exercices d’ ’application application

Modifiez votre classe « Produit » afin que le programme ci-dessous fonctionne. Le produit doit être capable de retourner une chaîne de caractères contenant les informations le concernant. Il doit donc être doté de la méthode « toString ».

Cette façon de faire est la meilleure des 3 car la classe métier (classe produit) est dissociée de la classe applicative (UtiliseProduit). De cette manière, la classe Produit peut être ré-utilisée quelque soit le traitement (mode console, mode graphique, traitement batch, wap…)

.

30

public class Produit { private String libelle;

private double prix;

…/…

public String toString(){

return "Notre produit "+this.libelle+" coute "+this.prix ; }

}

Exercices d

Exercices d’ ’application application

Exemple d’utilisation de propriété publique :

Ajouter une propriété publique « alimentaire » de type booléen. La propriété « alimentaire » ne pourra prendre que les valeurs « true » ou

« false ».

31

class Produit { private String libelle;

private double prix;

public boolean alimentaire;

public void setLibelle(String unLibelle){

this.libelle = unLibelle ; }

public void setPrix(double unPrix){

this.prix = unPrix ; }

public String toString(){

return "Notre produit "+this.libelle+" coute "+this.prix ; }

}

Exercices d

Exercices d’ ’application application

Exemple d’utilisation de propriété publique :

Modifiez le programme « UtiliseProduit » pour permettre de dire que le chocolat est un produit alimentaire et d’afficher un message indiquant si le produit est alimentaire après avoir lu cette propriété.

public class Test {

public static void main(String args[]){

Produit p;

p = new Produit();

p.setLibelle("Chocolat");

p.setPrix(1.50);

p.alimentaire=true;

System.out.println(p.toString());

if (p.alimentaire)

System.out.println("Notre produit est un produit alimentaire");

Exercices d

Exercices d’ ’application application

Exemple d’utilisation d’une méthode privée :

Créer une méthode privée dans la classe Produit permettant de convertir le montant en euros en montant en francs. Cette méthode n’affichera rien ; elle retourne un montant en francs à partir du prix du produit.

.

class Produit { private String libelle;

private double prix;

public boolean alimentaire;

…/…

private double conversionEnFrancs(){

double montantFrancs=this.prix*6.55957;

return montantFrancs;

}

public String toString(){

Exercices d

Exercices d’ ’application application

(5)

Exemple d’utilisation d’une méthode privée :

Essayez d’appeler cette méthode pour notre produit Chocolat. Que se passe t-il et pourquoi ?

.

34

public class Test {

public static void main(String args[]){

…/…

double prixFrancs=p.conversionEnFrancs();

} }

Exercices d

Exercices d’ ’application application

Exemple d’utilisation d’une méthode privée :

Une méthode privée peut être appelée à l’intérieur de la classe. Affichez le prix en francs grâce à la méthode « toString » en utilisant la méthode de conversion.

35

public class Produit {

private String libelle;

private double prix;

public boolean alimentaire;

…/…

private double conversionEnFrancs(){

double montantFrancs=this.prix*6.55957;

return montantFrancs;

}

public String toString(){

String chaine="Notre produit "+this.libelle+" coute "+this.prix ; chaine +=" euros, soit "+conversionEnFrancs()+" francs.";

return chaine;

} }

Exercices d

Exercices d’ ’application application

Références

Documents relatifs

[r]

[r]

Mais elle peut exprimer son opinion sur la loi, y compris en manifestant, comme lors du mariage pour tous.  » Elle ne peut non plus prétendre dominer ou contraindre les opinions

Afin de pouvoir être appelé, le setteur doit être déclaré « public » Dans notre exemple, on écrira donc : public void{.

2) Ecrire un algorithme qui demande à l’utilisateur de saisir le prix en euros d’une bouteille d’eau minérale de

Exercice 6 [String] Écrivez un programme qui réécrit les chaînes de caractères données en argument de la ligne de commande en les tronquant de leur première et dernière

Tempo est désigné par ses concepteurs comme un didacticiel interactif. De prime abord, nous remarquons l’absence des supports vidéo, ni authentiques, ni

2.8.5 Refactoring de la pile avec des listes chaînées.. Cliquez ici pour telecharger le