Introduction à la programmation objet

publicité
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
Téléchargement