Vous êtes sur la page 1sur 5

TD1 : Les classes (Introduction)

2 ème Année Licence – Informatique (RN) (S4) Module : Programmation Orientée Objet
1. Nom : bouzid
2. Prénom : Hani Anis
3. Group : 03

Quiz (révision rapide) :

1- On sauvegarde un fichier source Java sous l'extension ........... ?


• Sous extension .java
2- Un programme java peut-il contenir plusieurs classes ?
•Oui on peux avoir plusieurs classes ( autant que notre besoin )
3- Quel est le nom de la méthode par lequel un programme Java commence son
exécution ?
• La méthode par lequel un programme Java commence son exécution : main()
4- Si vous n'utilisez pas l'environnement intégré, quelle commande tapez-vous pour
compiler un fichier ? Pour exécuter un .class correspondant à un main ?
• Sous-linux : on tape la commande suivant dans la console

User @ linux$: javac nomDeFichier.java

5- Quel est l'entête de la méthode main ?


• J’ai pas compris la questionne
6- On met les instructions d’un programme java entre .... ?
• entre accolade { }
7- Une méthode peut ....... Ou ................. ? Expliquer les deux cas ?
• Une méthode statique : la mémoire est alloué une seul fois et elle appartiens a la
classe
• Une méthode non-statique : la mémoire est alloué a chaque fois que la méthode est
appelé et elle appartiens a l’objet.
8- Dans une méthode qui renvoie un résultat, où doit-on placer le mot clé return ?
Combien de return peut y avoir ? Expliquer ?
• On peux avoir plusieurs return mais on renvois qu’un seul dans un bloc {} comme
dans les cases de conditionnelle ( if else switch…) les fonctions
9- Pour interdire à une variable de classe ou un attribut ou une variable locale de
changerde valeur durant l’exécution du programme, on utilise le mot clé ........ ?
• on utilise le mots clé Final

Exercice 1 :
1. public class Cercle {
2. private String nom ;
3. private double rayon ;
4. public Cercle(String n , double r) {
5. nom=n ;
6. rayon=r ;
7. }
8. public String Afficher( ) {
9. String s="Cercle "+nom+" de rayon "+rayon ;
10. return s ;
11. }
12. public double getRayon ( ) {
13. return rayon ;
14. }
15. }

1. Dans cette classe :


• Quelles sont les variables d’instance ?
◦ Les Variable d’instance sont nom et rayon dans la linge 2 et 3 .
2. private String nom ; // variables d’instance nom
3. private double rayon ; // variables d’instance rayon

• Quelles sont les variables qui sont des arguments de méthodes ?

◦ Les variables qui sont des arguments de méthodes sont n et r

4. public Cercle(String n , double r) { // n et r ce sont des arguments

• Quelles sont les variables qui sont des variables locales à une méthode ?
◦ Les variable locale d’une méthode ce sont les varible qui sont déclare a l’intérieur du
bloc de la méthode comme s
9. String s="Cercle "+nom+" de rayon "+rayon ; // est une Variable locale

• Où est le constructeur ? Comment le reconnait-on ? Quel est le rôle des constructeurs en


général ? Quand sont-ils appelés ?
▪ // le constructor
4. public Cercle(String n , double r) {
5. nom=n ;
6. rayon=r ;
7. }

/* - on le reconnais garce a sont sont nom il porte le meme nom


que la classe - sont rôle c’est de construire et insitaliser l’objet */

• Quelles sont les méthodes de cette classe ?


8. public String Afficher( ) {

12. public double getRayon ( ) {

2- Ecrire une nouvelle classe appelée EssaiCercle. On souhaite que cette classe soit le point
d'entrée du programme (A partir de cette classe, on peut appeler par exemple les méthodes de
la classe Cercle), que doit-elle contenir ?
public class EssaiCercle
{
public static void main (String[] args)
{

}
}

3- Créer deux objets (instances) de la classe Cercle : Cercle1 de rayon 2.5 et Cercle2 de rayon 5.25

Cercle Cercle1(cercle1, 2.5);


Cercle Cercle2(cercle2, 5.25);

4- Afficher la valeur de retour de la méthode Afficher() pour le Cercle1, puis afficher le rayon du
Cercle2.
//Affichier
Cercle1.Afficher();
Cercle2.getRayon();

5- non on ne peux ni lire ou modifier les attribue directement depuis d’autre class car elle sont privé

Exercice 2 : La classe Point


1. Ecrivez une classe Point qui représente un point sur le plan. Elle possède deux attributs flottants x
et y (X représente l’abscisse, y l’ordonnée).
public class Point {
int x;
int y;
}

2. ajouter un constructeur afin de permettre l’initialisation de x et de y à 0.


public Point(int x){
this.x = x;
this.y = 0;
}
}

3. Ajouter une méthode double distance() qui retourne la distance du point à l’origine du repère.
public double distance(){

return java.lang.Math.sqrt(
(java.lang.Math.pow(this.x,2) + java.lang.Math.pow(this.y,2))
);
}

4. Ajouter une méthode void translate(double dx, double dy) qui translate le point de dx sur les
abscisses et de dy sur les ordonnées.
public void translate(double dx, double dy){
x += dx; // shift x with dx unit
y += dy; // shift y with dy unit
System.out.println("x: " + x + " y: " + y);
}

Exercice 3 : Une classe personne :


1. Ecrire une classe Personne qui contient : Des variables d'instance nom, sexe et age Un
constructeur : public Personne (String n, String s, int a)
public class Personne {
String nom;
String sex;
int age;
//Constructor
public Personne(String n, string s, int a){
nom = n;
sex = s;
age = a;
}
}

2. Classe appelée Présentation


public class Presentation {
public static void main(String[] args) {
Personne p1 = new Personne("Mouamed","Homme", 19);
Personne p2 = new Personne("Fatima","femme", 22);
}
}

3. Ajouter dans la classe Personne, les méthodes suivantes :


• sePresenter()
public String sePresenter(){
return "Je m'appel " + nom + " j'ai " + age + " ans.";
}

• oui on peux connaître l’age de Mouhamed, par ce que on a instancier un objet p1 qui
représentent Mouhamed et la variable instance age a un access modifier default

public int getAge() {


return age; // elle retourn un entier (int)
}

Exercice 4 :
1 public class Point {
2 private int x ;
3 public int y ;
4 public void f1( ) { }
5 private void f2( ) { }
6}
7 public class TestPoint {
8 public static void main(String [ ] args) {
9 Point p1=new Point( ) ;
10 System.out.println(p1.x) ; // erreur x est privé
11 System.out.println(p1.y) ; // ok
12 p1.f1( ) ;// ok
13 p1.f2( ) ; // erreur f2 est privé
14 }
15 }

Vous aimerez peut-être aussi