Valeurs par défaut,
précisées dans le
constructeurs
- Toutes les variables sont dans la Pile
- Tous les objets sont dans le TAS
- Les ruptures sont marquées par des majuscules
- Les méthodes sont en minuscules
- Un constructeur a toujours le nom de la classe
- Chaque classe décrit toutes les propriétés et toutes les opérations
- Tous les modèles sont encapsulés (visibilité limitée !)
toString : Outil d’aide aux test unitaires (il s’agissait d’une fonction maintenant il s’agit d’une
méthode). (Elle produit une forme externe de toutes instances du TAD)
Le return est identique au C, les + permettent la concaténation. Ici le toString retournera une
chaine de caractères (string) du type "(abscisse , ordonnée)", exemple : (1 , 0.7).
distance : public double distance(Point unB), on a juste un seul paramètre. Il y a en réalité deux
objets, il s’agit d’un objet dit objet support, il est implicite, c’est sur lui qu’est appliqué
la méthode.
get : Permet de récupérer les valeurs des attributs (car ils sont privés)
set (à la même manière qu’un get) : Permet de modifier les attributs
Dans l’exemple ci-dessus, on pourra récupérer l’abscisse ou l’ordonnée mais les modifier.
En Java, il n’y a pas de compilation « séparé » (pas de prototypes), Java compile chaque
classe séparément et en totalité.
Le main est une méthode comme une autre, placée dans une ou plusieurs classes choisies par
le développeur (il faudra alors préciser laquelle lancer).
Le cas des constructeurs :
- Pas de mention du retour (ni type, ni void)
- Constructeur par défaut (sans paramètres), il est obligatoire d’après les règles de codage
- Constructeurs normaux (signatures différentes)
- Possibilité d’invoquer un constructeur dans le corps de la définition d’un autre
constructeur
Exemple pour un objet de la classe Point :
public Point() {
abscisse= 0.;
ordonnee= 0.;
}
public Point(double x, double y) {
abscisse= x;
ordonnee= y;
}
- Mot clé new pour invoquer un constructeur
Exemple pour un objet de la classe Point : Point p0= new Point();
Point p1= new Point(1.5, -2.7);
Appeler une méthode :
- support.méthode();
- Avec plusieurs supports : p1.p2.méthode(); Avec plusieurs paramètres p1.méthode(p2,p3);