MMaattii rree :: PPrrooggrraammmmaattiioonn OOrriieenntt ee OObbjjeett
TTPP33
Niveau : 2 re ann e TSI,ECOM,LFIG
AU : 2019-2020
Objectifs : Apprendre quelques concepts de la Programmation Orient e Objet en Java:
classe, objet et instanciation.
-----------------------------------------------------------------------------------------------------------------
Exercice 1:
Cr er une classe Point caract ris e par :
- deux coordonn es de types doubles
- un constructeur pour initialiser les donn es
- une m thode translation qui permet de d caler le point
- une m thode qui permet d'afficher les coordonn es avant et apr s translation.
Une m thode main pour le test. Ainsi, cr er un tableau contenant des objets Point et l'afficher.
Exercice 2 :
Publicité
Ecrire une classe nomm e Personne permettant de d crire compl tement une personne,
sachant quune personne est caract ris e par les informations suivantes : nom, pr nom, sexe
(male ou femelle), ann e de naissance, tat civil (c libataire, mari ou veuf) et conjoint (cest
variable de type boolean gale vrai si la personne est mari e et gale faux si non)
1.
Cr er la classe Personne avec les attributs n cessaires.
2.
Ajouter un constructeur la classe Personne.
3.
Ajouter, la classe Personne, une m thode void retourneInfos(). Cette m thode peut
retourner 3 types de messages.
Exemples :
"M. ABIDI Ali est n en 1975, il est c libataire." : si la personne est un monsieur.
1
"Mme. AMRI Sarra est n e en 1970, elle est mari e." Si la personne est une madame.
Publicité
"Mlle. ALLANI Wassila est n e en 1980, elle est c libataire." Si la personne est une
mademoiselle.
4.
Ajouter, la classe Personne, une m thode int age(Personne p) qui renvoie l ge de
l'individu en fonction lann e de sa naissance.
5. Ajouter, la classe Personne, une m thode void marier (Personne p1, Personne p2) qui
permet de marier une personne une autre.
Cette m thode doit permettre de changer l tat civil des 2 mari s, l tat de la variable conjoint
et le nom de famille de la femme.
Pour simplifier : quand une femme se marie son nom devient : "nom de l' poux + nom de
jeune fille", par exemple : si Mlle. ALLANI Wassila se marie avec M. ABIDI Ali, son nom
deviendra Mme " ABIDI ALLANI "
Attention: un homme peut se marier avec une seule femme et une femme peut se marier
avec un seul homme.
6. Ecrire un programme qui d clare 2 variables de type Personne, cr e 2 instances de personne
Publicité
(un homme c libataire et une mademoiselle) pour les affecter dans les variables et afficher les
informations qui leurs concernent.
Appeler la m thode marier (Personne p1, personne p2) pour marier les 2 personnes puis
afficher leurs informations misent jour.
Exercice 3 :
Repr sentation des dates. Ecrivez une classe Date dont chaque instance repr sente une date
pr cise. Mettez-y 3 variables dinstance priv es : an (un entier non n gatif),mois(un entier
compris entre 1 et 12 ), jour (un entier compris entre 1 et une borne sup rieure qui d pend du
mois) .
Ecrivez les m thodes :
2
public Date(int jour, int mois, int an) : initialisation dune date, partir des trois nombres
donn es . La validit des ces nombres doit tre v rifi e (voyez ci-dessous comment) et, en cas
de date incoh rente, un message doit tre affich .
int getJour(),int getMois(),int getAn() : pour obtenir les valeurs correspondantes.
Publicité
public String toString() : renvoie lexpression dune date sous forme de texte, comme " 8
/nouvembre /2019".
public boolean infeg(Date d) comparaison : a.infeg(b) renvoie true si la date a est ant rieure
ou gale la date b, sinon cela renvoie false.
Indications :
Voici une expression valuant la validit dune date (ann es bissextiles simplifi es). Vous
pouvez vous contenter de la copier-coller dans votre programme, lequel se contentera de
tester la valeur de date Invalide:
boolean dateInvalide = mois < 1 || mois > 12|| jour < 1 || jour > 31|| jour > 30 && (mois == 4 ||
mois == 6 || mois == 9 || mois == 11)|| jour > 29 && mois == 2|| jour > 28 && mois == 2 &&
!(an % 4 == 0 && an % 100 != 0 || an % 400 == 0);
3
4