LES CLASSES ET LES OBJETS
Les classes et les objets Introduction Une classe est considérée comme un enregistrement dans lequel on peut mettre de sous-programmes (méthodes). Par convention le nom des classes commence par une majuscule. Le nom des variables (attributs), des objets et des méthodes commencent par une minuscule. Les variables de ce type sont des références qui pointent sur les données qu’on appelle des objets( ou des instances) de la classe.
Les classes et les objets On définit un objet comme on définit une variable. C’est le nom de la classe suivi du nom de l’objet Exemple : Animaux unAnimal; C’est un enregistrement un peu spécial avec deux catégories de champs Des données membres (aussi appelées attributs ou variable d’instance) Des fonctions membres (appelées des méthodes)
Les classes et les objets Par défaut les membres sont publiques donc accessibles par un objet de la classe. Par convention, nous mettons toujours les modificateurs d’accès même lorsque c’est public.
Les classes et les objets Les membres (attributs et méthodes) sont accessibles à partir d’un objet de la classe (sauf exception), comme un champ d’un enregistrement. Représentation graphique Classe objet attributs méthodes
Les classes et les objets Données membres Exemple : Animaux unAnimal; unAnimal - Remarquez l’absence de paramètre dans la méthode copie public String nom; public double poid; public int age; public Animaux copie(); public boolean equals(Animaux a); référence L’objet (ou l’instance) Méthodes membres
Les classes et les objets Que sera affiché par ce bout de code ? -Comme la comparaison est sur les références, ce n’est pas le même animal même si les contenus sont identiques. On aurait dû lire : if(unAutreAnimal.equals(unAnimal)) //ou vice-versa Animaux unAnimal = new unAnimal(); unAnimal.nom = « Black »; unAnimal.poids = 7.2; unAnimal.age = 2; Animaux unAutreAnimal = unAnimal.copie(); If(unAutreAnimal == unAnimal) System.out.print (« C’est le même animal »); else System.out.print (« Ce n’est le même animal »);
Les classes et les objets Si un membre est déclaré static c’est qu’on doit y accéder par le nom de la classe et non pas le nom d’une instance (objet). Exemple : public class Point2D{ //membres données public double x; public double y; //méthode static public static double distance(Point2D p1, Point2D p2); } Utilisation : Point2D pointDepart = new Point2D(); pointDepart.x = 10; pointDepart.y = 20; Point2D pointArrivee = pointDepart; System.out.print(Point2D.distance(pointDepart, pointArrivee)); //affichera 0
QUELQUES PAQUETAGES
Les paquetages de Java java.lang.* est toujours accessible, il faut importer les autres paquetages que vous utilisez à l’aide de import. Exemple : import java.util.*; //import toutes les classes de java.util import java.util.Scanner; //import seulement la classe Scanner http://java.sun.com/j2se/1.6.0/docs/api/
Les classes de Java Il existe plusieurs classe prédéfinies en Java. En voici quelques-unes : Java.lang String : Permet la création de chaînes de caractères. Il est impossible de modifier les caractères dans la chaîne. Il faut changer la chaîne au complet. StringBuffer : Permet de manipuler une chaîne de caractères. Il est possible de modifier les caractères dans la chaîne et d’utiliser plusieurs autres fonctionnalités.
Les classes de Java java.util Java.lang (suite) Math : Implémente les fonctions mathématiques de base (sqrt(), pow(), exp(), ...); java.util Arrays : Contient des méthodes static qui permettent la manipulation de tableaux (tri, fouille, remplissage,...).