Académique Documents
Professionnel Documents
Culture Documents
A programming
paradigm that uses
objects to design
systems.
Package
Classe
Attributs
Méthodes
Classe
4
package mesExemples;
class Hello {
public static void main (String argv[])
{
Hello hello = new Hello(); // Instantiation
hello.SayHello();
}
public void SayHello()
{
System.out.println("Hello Java World !!! ");
}
Objet
6
Une variable d’un type classe est une référence vers un objet.
Exemple
void print () {…}
void print (int i) {…}
int print (float f) {…}
Short 10 0 10 1 2 4 5
Char 11 10 0 1 2 4 5
Int 12 11 11 0 1 5 4
Long 12 11 11 10 0 6 5
Float 15 14 13 12 11 0 1
double 16 15 14 13 12 10 0
Constructeur
13
Retourne une référence à l’objet de la classe (mais le type de retour est void).
S’il y a un constructeur écrit, celui par défaut n’existe plus et il faut donc l’écrire
explicitement au besoin.
Exemple de constructeurs
14
class Date {
int _jour;
int _mois;
int _an;
Date() {
_an = 1999;
}
class Compte {
void crediter(float montant) {……};
void debit(float montant) {……};
}
class Versement {
void valider() {……}
void effectuer(Compte s, Compte d, float montant) {
s.debiter(montant);
d.crediter(montant);
this.valider();
}
}
« this »
18
Soit :
class Personne {
String _nom ;
String _prenom;
float _taille;
Si une classe n’a que des accesseurs, on dit qu’elle est immuable.
Mutateur
24
import java.util.*;
class Point { ……
protected void finalize()
{System.out.println("Appel au Destructeur"); }
};
public class Exemple {
public static void main (String []arg) {
Point a ;
Scanner clavier = new Scanner(System.in);
System.out.println("Création de a");
a= new Point(1,2); // Création du point 1,2, constructeur 1
System.out.println("Fin creation de a");
a=null;
clavier.nextLine();
System.gc(); // Destruction du point a
System.out.println("Creation de b");
Point b = new Point(); // Création du point 0,0 constructeur 2
}
Opérateurs sur les références
27
class MathUtil {
final static double _PI = 3.14 ;
static double PI() {
return _PI;
}
static double Carre(double x) {
return x * x;
}
static double Demi(double x) {
return x / 2;
}
}
……
double i = MathUtil.Carre(5);
double x = MathUtil.PI();
Les packages : définition (1/2)
30
java
import java.util.Date;
Date dateDuJour = new Date();
System.out.println(dateDujour);
import java.util.*;
Date dateDuJour = new Date();
System.out.println(dateDujour);
Les packages : utilisation (2/2)
33
On a le droit de placer les classes dans des archives (zip, jar, cab)
Dans ce cas, la variable CLASSPATH doit référencer le fichier
class Personne {
private Vector children = new Vector();
public Vector getChildren() { return children; } }
……
Personne moi = new Personnes();
Vector v = moi.getChildren(); Rupture de
l’encapsulation
v.addElement(new Personne("Paul");
La classe « Object »
38
class Personne {
String nom;