POO Feuille 2+3 Question 1 Définir la classe Complexe pour

Transcription

POO Feuille 2+3 Question 1 Définir la classe Complexe pour
POO Feuille 2+3
Question 1 Définir la classe Complexe pour représenter les nombres complexes. Donner des
méthodes pour trouver la somme de 2 variables complexes (3 méthodes dont 1 statique)
Question 2 Soient les classes Personne et Voiture définies comme suit :
class Personne
{
private String nom;
private String adresse;
private Voiture possede;
//methodes
......
}
{
class Voiture
private String marque;
private String no_immat;
//methodes
...........
}
Donner des constructeurs, des méthodes pour afficher des attributs dans chaque classe. Définir
des méthodes achat voiture, vente voiture et invoquer ces méthodes.
Question 3 On dispose de la classe Point suivante :
class Point{
private int x, y;
public Point (int a, int b) { x=a; y=b;}
public void deplacer(int h , int k) {x+=h;
}
y+=k;}
-En ajoutant les fonctionalités nécessaires à la classe Point, réaliser une classe Segment permettant de manipuler des segments d’un plan en disposant des méthodes suivantes :
segment(Point origine, Point extremite)
segment (int xor, int yor, int xext, int yext)
double longueur()
void deplaceOrig (int dx, int dy)
void deplaceExt (int dx, int dy)
-Ajouter 2 variables statiques (origx, origy) pour définir les coordonnées de l’origine ( (0,0)
par défaut ).
Donner des méthodes pour modifier (redéfinir) les coordonnées de l’origine
Question 4
Définir une classe TD (String nom-td, int nb-etud, int maxeffectif) maxeffectif est une variable de classe pour indiquer l’effectif maximal par TD et une classe Admin (String nom) Cette
classe est chargée de gérer les effectifs des objets de la classe TD. Elle doit être en mesure
d’effectuer les traitements suivants :
1
– ajouter x personnes à l’effectif d’un groupe de TD
– transférer x personnes d’un groupe vers un autre groupe
Question 5 Définir une classe Mairie (String nom-mairie), une classe Personne (String nom,
adresse ; Personne epouxde ; Acte act) une classe Acte (int no-enreg ; String lieu-mariage ; String
date) pour simuler le déroulement suivant :
– Création de la mairie m1 et deux personnes p1, p2 qui sont célibataires.
– La mairie m1 unit les personnes p1, p2 de la fa con suivante :
– Elle procède à l’union de deux personnes
– Puis elle crée un objet de la classe Acte pour établir un acte de mariage
– Enfin, elle remet cet acte à p1 et p2
Question 6
Définir les classes Guichet (String station ; Ticket tt), Ticket (String destination ; double
prix), Personne (String nom ; Ticket tick) pour simuler l’achat d’un ticket par une personne
dans un guichet :
– Création d’un objet g de la classe Guichet : ce guichet n’a pas de ticket fabriqué
– Création d’un objet p de la classe Personne : cette personne n’a pas de ticket
– La personne p demande un ticket au guichet g ; celui-ci fabrique un ticket qui reste en
possession du guichet
– Le guichet g donne le ticket à la personne p ; p a son ticket et le guichet ne l’a plus.
Question 7 Donner les affichages du programme suivant
class Maclasse
{ private int x;
public Maclasse(int xx) {x=xx;}
public int getx () {
return x; }
public void putx (int a){x=a;}
public void affiche() {System.out.println(x);}
}
class Operations
{ public static void ajout(int n, int p) {n=n+p;}
public static void ajout(Maclasse c, int p) {c.putx(c.getx()+p);}
public static void ajout(Maclasse c) {c.affiche(); c.putx(c.getx()+5); c.affiche();
c=new Maclasse(0); c.affiche();))}
}
public class TstTrans
{ public static void main(String[] args)
{Maclasse a=new Maclasse(2);
int n=2;
System.out.println("valeur d’objet avant"+a.getx());
Operations.ajout(a,5); System.out.println("valeur d’objet aprËs "+a.getx());
System.out.println("valeur d’objet avant"+a.getx());
Operations.ajout(a); System.out.println("valeur d’objet aprËs "+a.getx());
System.out.println("valeur d’objet avant"+n);
Operations.ajout(n,5); System.out.println("valeur d’objet aprËs "+n);
}
}
2