Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen [email protected] Igor Litovsky [email protected] Anne-Marie Pinna Dery [email protected] http://courswiki.polytech.unice.fr/SI3/IPA Instances et une classe 2 types de méthode Méthodes qui sont des fonctions : Déclaration : public int getXPosition() { Appel : Point p = new Point(); int x = p.getXPosition(); Méthodes qui sont des procédures public void showCoord() Appel : p.showCoord(); Attributs (fields), variables d’instances – paramètres – variables locales • Attributs : private int abscisse; abscisse est de type entier Utilisable dans toute la classe this.abscisse; ou abscisse; Attributs (fields), variables d’instances – paramètres – variables locales Déclaration : public int setX(int p) {…….} p est le paramètre formel p est de type entier et est visible dans le corps de la méthode Appel : Point pt = new Point(12,34); pt.setX(25); pt.setX(25.5); 25 est le paramètre effectif Attributs (fields), variables d’instances – paramètres – variables locales Déclaration : int y; Utilisation : y = 0; y = x; y++; ++y; y=y+1; y est visible dans le bloc (bloc {…}) dans lequel il est défini Types int : entier double : réel float : réel ... String : Classe prédéfinie chaîne de caractères boolean : true et false On peut mettre un entier dans un double, un double dans un float pas le contraire. Si nécessaire on peut faire des cast explicites Toutes les classes API Java : java.lang java.util Constructeurs • • • • public Circle() { this(0,0 ,”red”,12); } • • • • public Circle(int x,int y) { this(x,y,”red”,12); } • • • • • • • • public Circle(int x,int y,String c,int diameter) { xPosition = x; yPosition = y; diameter=this.diameter; color=c; isVisible=true; } • • Surcharge des Constructeurs On peut aussi surcharger des méthodes Affichage : particularité de toString public void showCoord() { System.out.println(" Les coordonnées sont :"); System.out.println(" x : " + xPosition + " y: " + yPosition ); } Instruction d’écriture Concaténation de chaines Méthode prédéfinie pour l’affichage d’une instance public String toString() { return " x : " + xPosition + " y: " + yPosition + " diamètre: " + diameter + " couleur: " + color; } …. System.out.println(circle1); System.out.println(circle1.toString()); Utilisation d’une classe par une autre Exemple de la classe de test et la classe testée De la classe Point et de la classe cercle public static void main(String[] args) javac ClasseAtester.java -> erreurs ou création du fichier ClasseAtester.class javac TestDEClasseAtester.java -> erreurs ou création du fichier TestDeClasseAtester.class java TestDeClasseAtester -> erreurs et/ou exécution du code ATTENTION A L’ORDRE DE COMPILATION