Vous êtes sur la page 1sur 2

Université virtuelle de Tunis Master N2TR

Programmation Orientée Objet et Langage Java


TD N°2

OBJECTIFS: - Manipuler des objets plus complexes, avec intégration de plusieurs


concepts : constructeur, surcharge, encapsulation, association entre classes

Exercice 1 :

Soit le fichier Cercle.java contenant le code suivant :

package p;
public class Cercle {
private float rayon;
public static final float PI=3.14f;
protected static int nbrInstance=0;

public Cercle (float r ){rayon=r; nbrInstance++;}


public float getRayon() {return rayon;}
public void setRayon(float rayon) {this.rayon = rayon;}
public float surface(){return pi*rayon*rayon;}
}

Soit le fichier Test.java contenant le code suivant :

package p;
public class Test {
public static void main(String[] args) {

Cercle c1,c2,c3;
c1=new Cercle();
c1.rayon=3;
c2.Cercle(4);
System.out.println(c2.rayon) ;
c3.setRayon(5) ;
System.out.println(c3.surface()) ;
c1.pi=3.1415f;
Cercle.pi=3.1415f;
System.out.println(Cercle.nbrInstance);
System.out.println(c1.nbrInstance);
}
}
Le code du fichier Test.java contient certaines erreurs. Mentionnez les instructions erronées
en expliquant à chaque fois la raison, et proposez une version correcte du fichier Test.java.

Tuteur : Dr Mohamed Sahbi Bahroun 1


Université virtuelle de Tunis Master N2TR

Exercice 2 : (Les 3 parties peuvent être traitées indépendamment)


Partie 1 :
Soit la classe DisqueDur définie comme suit :
public class DisqueDur
{
private String type; // type de connexion du disque dur : SATA, SCSI ou IDE
private int taille; // taille du disque dur exprimée en giga octets (Go)
public DisqueDur (){…}
public DisqueDur (String s, int t) {…}
public int tailleMBit(){…} // Retourne la taille du disque dur en Mégabits
public void affiche (){…} // Affiche les informations relatives au disque dur
}
1) Implémenter la classe DisqueDur en tenant compte des indications suivantes :
- Par défaut, un disque dur est de type IDE et a une taille de 20 Go
- 1 Go = 1024 Mo et 1octet=8 bits
2) Ajouter les accesseurs mutateurs (get et set) pour chaque attribut de la classe.

Partie 2 :
Soit la classe PC définie comme suit :
public class Pc
{
private String marque; // marque du pc
private float prix; // Prix du PC
private DisqueDur dd; //disque dur du PC défini dans la partie 1

public Pc(){…}
public Pc(String m, float p, String s, int t) {…}
public void setPcInfo (String m, float p, DisqueDur d) {…}
// permet de donner des valeurs aux caractéristiques du PC
public float getPrix(){…}
public String getMarque(){…}
public DisqueDur getDisqueDur(){…}
public void afficher(){…} // Affiche les caractéristiques du pc
}
Partie 3 :
Ecrire une classe de test comprenant un programme principal qui:
- Crée une instance d1 de la classe DisqueDur, de type SCSI ayant une taille de 120 Go,
l’affiche et affiche la taille du disque en Megabit.
- Crée une instance pc1 de la classe Pc, de marque IBM qui coûte 1500 dinars formé du
disque dur d1, l’affiche et affiche la taille son disque dur en Megabit.

Tuteur : Dr Mohamed Sahbi Bahroun 2

Vous aimerez peut-être aussi