Programmation java Introduction Daniel Tschirhart : Programmation Java V1.35 Les Classes Daniel Tschirhart : Programmation Java Introduction V1.36 Définir une classe n n n Syntaxe : [public] class Nom { } Convention de nommage Où définir la classe 3 Daniel Tschirhart : Programmation Java Introduction V1.36 Constructeur par défaut n Syntaxe : public nomDeLaClasse 4 Daniel Tschirhart : Programmation Java Introduction V1.36 Instancier une classe 5 Daniel Tschirhart : Programmation Java Introduction V1.36 Instancier une classe (2) 6 Daniel Tschirhart : Programmation Java Introduction V1.36 Les méthodes n n Emplacement de la déclaration. Syntaxe de déclaration [portée] [allocation] type_retour nom([paramètres formels]); 7 Daniel Tschirhart : Programmation Java Introduction V1.36 Méthodes : portée [portée] [allocation] type_retour nom([paramètres formels]); rien n public n private n protected n 8 Daniel Tschirhart : Programmation Java Introduction V1.36 Méthodes : allocation [portée] [allocation] type_retour nom([paramètres formels]); rien : méthode d'objet ou d'instance. La méthode est liée à un objet. n static : méthode de classe : méthode indépendante de tout objet. n n Ne peut accéder qu'à des attributs ou des méthodes statiques. 9 Daniel Tschirhart : Programmation Java Introduction V1.36 Méthodes : type de retour [portée] [allocation] type_retour nom([paramètres formels]); rien : c'est un constructeur. n void : la fonction ne retourne aucune valeur (procédure). n <type primitif> : donnée de type valeur. n <classe> : nom de la classe de la référence de l’objet retourné. n 10 Daniel Tschirhart : Programmation Java Introduction V1.36 Méthodes : nom [portée] [allocation] type_retour nom([paramètres formels]); n Convention de nommage. 11 Daniel Tschirhart : Programmation Java Introduction V1.36 Méthodes : paramètres formels [portée] [allocation] type_retour nom([paramètres formels]); n n n Rien Un ou plusieurs paramètres séparés par des virgules. Syntaxe des paramètres n type nom[, type nom] n n type : primitif ou une classe connue nom : convention de nommage idem aux attributs 12 Daniel Tschirhart : Programmation Java Introduction V1.36 Méthode static ou non static ? n n Une méthode statique ou méthode de classe est peut être utilisée sans instancier d'objet. Exemple : double racineDeDeux = Math.sqrt(2); Une méthode est rendue statique pour les raisons suivantes : n n n méthode utilitaire dans une classe type métier (exemple Math.sqrt). méthode ne devant être liée à aucun objet (exemple : main). pour se rapprocher de conventions d'écriture. Exemple : c1 et c2 sont deux objets de type Complex. c1 = Complex.add(c1, c2); semble plus clair que : c1 = c1.add(c2); 13 Daniel Tschirhart : Programmation Java Introduction V1.36 Les attributs n Les attributs peuvent être des : constantes, n variables n des références d’objets. n 14 Daniel Tschirhart : Programmation Java Introduction V1.36 Les attributs Emplacement de la déclaration. n Syntaxe de déclaration n [portée] [durée de vie] type nom; 15 Daniel Tschirhart : Programmation Java Introduction V1.36 Attributs : portée [portée] [durée de vie] type nom; n n n n rien : portée limitée au package public : portée générale private : portée limitée aux méthodes de la classe protected : portée limitée aux méthodes de la classe et aux méthodes situées dans des classes dérivées. 16 Daniel Tschirhart : Programmation Java Introduction V1.36 Attributs : durée de vie [portée] [durée de vie] type nom; rien : attribut d'objet ou d'instance. Durée de vie égale à celle de l'objet. n static : attribut de classe : durée de vie égale à celle du programme. Un attribut statique n'est lié à aucun objet. n 17 Daniel Tschirhart : Programmation Java Introduction V1.36 Attributs : type [portée] [durée de vie] type nom; n un primitif parmi : booléan, char, int, float, double. n une classe connue. 18 Daniel Tschirhart : Programmation Java Introduction V1.36 Attributs : nom [portée] [durée de vie] type nom; n Convention de nommage 19 Daniel Tschirhart : Programmation Java Introduction V1.36 Attribut ou variables locales ? n On utilise un attribut pour partager des données ou des objets entre plusieurs méthodes. n avoir une durée de vie supérieure à celle d'une méthode. n n Dans tous les autres cas, il faut utiliser des variables locales aux méthodes. 20 Daniel Tschirhart : Programmation Java Introduction V1.36 Attributs static ou non static ? n n Un attribut n'est que très rarement statique. Un attribut est rendu statique pour les raisons suivantes : n n n Les méthodes statiques ne peuvent accéder qu’au attributs static. On doit partager le même attribut entre plusieurs objets. On veut disposer d'une donnée indépendante de tout objet. 21 Exemple de classe Daniel Tschirhart : Programmation Java Introduction V1.36 22 Daniel Tschirhart : Programmation Java Introduction V1.36 Test de la classe Etudiant 23