Programmation Java
Master M2 TTT --- Feuille n° 2
Classes, objets, et délégation
Exercice n° 1 (Pixel)
-
Reprendre la classe Pixel vue en cours et ajouter un
constructeur par défaut. Que se passe-t-il si on écrit Pixel p =
new Pixel(); alors que ce constructeur n'est pas écrit dans la
classe Pixel ?
-
Ajouter une méthode void translate(int d) qui déplace
un point en changeant sa coordonnée x en x + d
et sa coordonnée y en y + d.
Comment cette méthode cohabite-t-elle avec la méthode
void translate(int dx, int dy) déjà écrite.
Exercice n° 2 (Circle)
-
Créer une classe Circle pour représenter des cercles.
Les attributs d'un cercle seront une point (de la classe Pixel)
représentant le centre du cercle, et un rayon (de la classe int).
-
Écrire dans cette classe deux constructeurs, l'un prenant en argument
un point (de la classe Pixel) et un entier. L'autre prendra en
argument trois entiers dont les deux premiers seront les coordonnées du centre
du cercle.
-
Écrire une méthode void translate(int dx, int dy) qui permet
de déplacer le cercle.
-
Écrire une méthode public String toString() qui crée une représentation du cercle sous forme de chaîne de caractères. On aura par exemple
(1,1),3 pour un cercle centré sur le point de coordonnées (1,1)
et de rayon 3.
-
Écrire une méthode public boolean equals(Object o) qui teste si
deux cercles sont égaux (même coordonnées du centre et même rayon).
-
Écrire une méthode main dans une classe Test
qui teste les constructeurs et méthodes précédentes.
Exercice n° 3 (Matrix)
- Écrire une classe Matrix qui contient comme attribut
un tableau à double entrée d'entiers.
-
Écrire un constructeur prenant en arguments trois entiers n,m et x,
qui crée une matrice rectangulaire
de taille n x m (à n lignes et m colonnes) comportant
des x partout.
-
Écrire un constructeur qui crée une matrice carrée
de taille n x n comportant des x partout.
-
Écrire une fonction Matrix add (Matrix m2) qui renvoie
la somme de la matrice courante avec la matrice passée en argument.
-
Écrire une méthode main dans une classe Test
qui teste les constructeurs et méthodes précédentes.