CLASSES, INSTANCE,MÉTHODES
CLASSE EN JAVA, PAS À PAS
UTILISER DES CLASSES: C O=NEW C()
UTILISER LES MÉTHODES: O.M()
UNE CLASSE AVEC PLUSIEURS CONSTRUCTEURS
LA SURCHARGE DES MÉTHODES
VARIABLES DE CLASSE
VARIABLES D’INSTANCE
LES MÉTHODES DE LA CLASSE
EXEMPLE AVEC STATIC
ET SI L’ON PARLAIT D’HÉRITAGE
CLASSE ET MÉTHODES ABSTRAITES
L’HÉRITAGE MULTIPLE VS INTERFACE
REGROUPER DES CLASSES DANS UN PACKAGE
TYPER UN OBJET (CASTING)
COPIER DES OBJETS
COMPARER DES OBJETS
Une introduction aux objets
il nous faut examiner ce qu’est un objet.
une vision animiste!
Définition de classe:
Une classe est archétype qui conditionne tous les comportements
Définition d’objet:
Un objet est une instance d’une et une seule classe. Un individu qui possède tous les comportements de la classe dont il est dérivé.
Définition de méthode:
Une méthode définit l’action élémentaire que l’on peut effectuer sur un objet. L’ensemble des méthodes définissent le comportement de la classe.
Définition de message:
Un message est l’occurrence de la demande d’exécution d’une méthode à un objet.
Classe en JAVA, pas à pas
déclarer une classe
class Rectangle extends Object{ ... } variables d’instances. largeur et hauteur class Rectangle extends Object{ public double largeur, hauteur; ... }
méthodes de Rectangle
class Rectangle extends Object{ ... public double perimetre() { return 2*(largeur+hauteur); } public double surface() {return largeur*hauteur;} public double diagonale() { return Math.sqrt(largeur*largeur+hauteur*hauteur); } public void doubler() {largeur*=2; hauteur*=2;} }
Classe en JAVA, pas à pas
le constructeur (dit comment créer une instance)
class Rectangle extends Object{
…
public Rectangle(double initL, double initH){
largeur=initL;
hauteur=initH;
}
}
…
Le code complet de la classe Rectangle
class Rectangle extends Object{ public double largeur, hauteur; public Rectangle(double initL, double initH){ largeur=initL; hauteur=initH; } public double perimetre() {return 2*(largeur+hauteur);} public double surface() {return largeur*hauteur;} public double diagonale() { return Math.sqrt(largeur*largeur+hauteur*hauteur);} public void doubler() {largeur*=2; hauteur*=2;} }
Classe Disque
class Disque extends Object{ public double diametre; private static final double pi=3.14159; public Disque(double initD){ diametre=initD; } public double perimetre() {return pi*diametre;} public double surface() {return (pi*diametre*diametre)/4;} public double rayon() {return diametre/2;} public void doubler() {diametre*=2;} }