Vous êtes sur la page 1sur 110

Prsentation du

cours de Programmation et
modlisation objet- java
Pr Adil Soufi
1re Anne Cycle Ingnieur
Filire : Goinformation
Adil.soufi@gmail.com
1
Plan
1. Concepts fondamentaux de La P.O.O
2. La syntaxe et les lments de base du langage java
3. Programmation oriente objet en langage Java
4. Introduction la conception oriente objet
La mthode de conception OOD
Notation UML de classes et d'objets
5. Cration dapplication avec Interface Homme
Machine Graphique
6. Cration dapplication avec accs la base de
donnes
7. Programmation web( applet )

2
Mthodologie
Cours intgr
Travaux dirigs
Travaux pratiques
(JDK + console MS-DOS +Eclipse + netbeans)

3
1. Concepts fondamentaux de
La P.O.O
1. Objets
2. Classes
1. Encapsulation
2. Hritage
3. Polymorphisme

4
OBJET
Cest une structure de donnes(mm langage C),
la principale diffrence que un objet regroupe les
donnes ainsi que les moyens de traitement des
donnes

5
OBJET
Prg. Procdural Prg. Oriente objet
Etudiant x Etudiant x
{ ziati { ziati
ali ali
Donnes
19 19
NOTE{12,13,15} NOTE{12,13,15}
} AffichageNom()
moyenNot() Traitement
}

6
OBJET
Attributs : la partie des donnes d un objet
Mthode : la partie traitement de donnes d un
objet

7
Programmation Oriente objet
Ensemble des objets qui communique entre eux
Rsume
Un objet est donc un type servant stocker des
donnes dans attributs et les grer au travers
des mthodes
Remarque
Pour accder a un membre d un objet on notera
Objet.membre
8
Classe et instance
Entit
Une classe Entit
CLIENT Lobjet est une instance
N client Nom Ville de classe un
1 ALAOUI TANGER exemplaire dune classe
2 ELHDAD FES
3 SEMIRI AGADIR
On POO on dfinie une
4 CHARKI RABAT classe mais on dclare
un objet
Une classe type
Instance
Un objet variable

9
Exemple

10
Les trois fondamentaux de la
POO
Encapsulation
Hritage
Polymorphisme

11
Encapsulation
Cest le terme se cache derrire le concept
mme de lobjet

Les attributs
Objet
Encapsulation Les attributs
Les mthodes

Les mthodes

Regrouper sous la mme entit les donnes et les moyens de les grer

12
Encapsulation
Encapsulation permet de masquer un certain
nombre de champs et mthodes tous en laissant
visible dautres champs et mthodes.

13
Hritage
Un objet peut driver dun autre. Il en reprend
toutes les caractristiques, en y ajoutant des
attributs (donnes) et/ou des mthodes
(traitements) supplmentaires

14
Polymorphisme
Poly plusieurs
Morphisme forme
Le polymorphisme traite de la capacit de
lobjet possder plusieurs formes
Hritage => polymorphisme => lobjet driv
garde tjrs la capacit de pouvoir redfinir une
mthode (la rcrire ou la complter)

15
Exemple

Vhicule
Avancer()

Bateau Avion Voiture


Avancer() Avancer() Avancer()

16
Les mthodes de base
Les constructeurs
Servent construire lobjet en mmoire
On utilise ainsi gnralement les constructeurs
pour initialiser les attributs
Destructeur
Il se charge de dtruire linstance de lobjet

17
2. La syntaxe et les lments de
base du langage java
Installer les outils de dveloppement
Les variables et les oprateurs
Lire les entres clavier
Les conditions
Les boucles
Les tableaux

18
Introduction
Java est un langage dvelopp par la socit
SunMicrosysteme (rachet par Oracle en
2010).
Un programme java est portable, il fonctionne
sous Windows, Mac, Linux..etc.
Avec java on peut faire:
Une application sous forme de console (langage C)
Applets (web)
Une application pour une appareil mobile

19
Installer les outils de dveloppement
Le Java Development Kit (JDK) dsigne un ensemble de bibliothques
logicielles de base du langage de programmation Java, ainsi que les outils avec
lesquels le code Java peut tre compil, transform en bytecode destin
la machine virtuelle Java.

20
Java Development Kit
JDK
Les principaux composants du JDK sont une slection d'outils de
programmation, incluant :
java : le chargeur d'application Java ;
javac : le compilateur, qui convertit le code source en fichier
.class (contenant le bytecode Java) ;
appletviewer : cet outil peut tre utilis pour excuter et dboguer
des applets Java sans navigateur ;
javadoc : le gnrateur de documentation, qui gnre automatiquement de
la documentation partir des commentaires du code source ;
jar : l'archiveur, qui met sous forme d'un paquetage unique l'ensemble
des fichiers class en un fichier JAR ;
jdb : le dbogueur ;
Le JDK est galement founi avec l'environnement d'excution
Java complet, contenant la Java Virtual Machine ainsi que toutes les
bibliothques de classes prsentes dans l'environnement de production.

21
Votre premier programme
Une fichier cris en java son extension est .java
Apres la compilation on aura un fichier avec l
extension .class

22
Votre premier programme
public class prg1 {

public static void main(String[] args)


{
// programme simple en java
System.out.print("salut");
}
}

23
Variable et affectation
Une variable est une case mmoire
type nomvariable = intialisation;
Exemple :
int i=0;
double a;
String ch;

24
Les diffrents types de variables
int (entier) 4octet
float (rel) 4 octet
double (rel) 8octet
char(caractre)
boolean (true/false)
String(chaine de caractre)

25
Affectation
Placer ou remplacer une valeur dans une
variable
NomVariable=valeur;

Exemple
int i ;
i=2;

26
LIRE LES ENTRES CLAVIER
La lecture des entres clavier se fait via l'objet Scanner.
Ce dernier se trouve dans le package java.util que vous
devrez importer.
Pour pouvoir rcuprer ce vous allez taper dans la
console, vous devrez initialiser l'objet Scanner avec
l'entre standard, System.in.
Il y a une mthode de rcupration de donnes pour
chaque type (sauf les char) : nextLine()pour
les String, nextInt() pour les int ...
Scanner s= new Scanner(System.in); char x =
s.next().charAt(0); exemple pour type char
27
EXEMPLE

28
AFFICHER SUR LA SORTIE
ECRAN
System.out.println("Hello World");

objet
Classe la mthode

Le package : java.lang.

29
LES CONDITIONS
Les conditions vous permettent de n'excuter que certains morceaux
de code.
Il existe plusieurs sortes de structures conditionnelles :
la structure if... elseif... else ;
la structure switch... case... default ;
Si un bloc d'instructions contient plus d'une ligne, vous devez
l'entourer d'accolades afin de bien en dlimiter le dbut et la fin.
Pour pouvoir mettre une condition en place, vous devez comparer
des variables l'aide d'oprateurs logiques.
Vous pouvez mettre autant de comparaisons renvoyant
un boolean que vous le souhaitez dans une condition.
Pour la structure switch, pensez mettre les instructions break; si
vous ne souhaitez excuter qu'un seul bloc case.

30
LES BOUCLES
Les boucles vous permettent simplement d'effectuer des
tches rptitives.
Il existe plusieurs sortes de boucles :
la boucle while(condition){} value la condition puis excute
ventuellement un tour de boucle (ou plus) ;
la boucle do{}while(condition); fonctionne exactement
comme la prcdente, mais effectue un tour de boucle quoi qu'il
arrive ;
la boucle for permet d'initialiser un compteur, une condition et
un incrment dans sa dclaration afin de rpter un morceau de
code un nombre limit de fois.
Tout comme les conditions, si une boucle contient plus
d'une ligne de code excuter, vous devez l'entourer
d'accolades afin de bien en dlimiter le dbut et la fin.

31
Tableau
Type nomtableau[]=intialisation
Exemple int tab[]={1;5;7;9};
String ch[]={ coco ; toto };
Ou bien
Type[] nomtableau =new type[taille];

32
LES CONCEPTS ORIENTES
OBJETS EN JAVA
Objectifs spcifiques
Introduire le concept de classe et sa notation
Matriser la dfinition des attributs et
mthodes dune classe
Matriser linstanciation des objets et laccs
aux membres dun objet
Comprendre le concept des classes internes
Matriser latout dorganisation package
33
Notion de Classe
Une classe est un support dencapsulation :
c'est un ensemble de donnes et de fonctions
regroupes dans une mme entit. Une classe
est une description abstraite d'un objet. Les
fonctions qui oprent sur les donnes sont
appeles des mthodes.

34
Syntaxe

35
Les modificateurs de classe

36
Attributs et Mthodes
Syntaxe gnrale:
[< modificateur de visibilit>] <type> <nom_attribut> [=<expression>] ;
Exemple:

37
Les variables de classes (static)
Les variables de classes sont dfinies avec le mot
cl static.
Exemple :

Chaque instance de la classe partage la mme


variable

38
Les constantes
Les constantes sont dfinies avec le mot cl final
: leur valeur ne peut pas tre modifie.
Exemple :

39
Les mthodes
Les mthodes sont des fonctions qui implmentent les
traitements de la classe.
La syntaxe de la dclaration

Dclaration d'une mthode main () :

public static void main (String args[]) { ... }

40
Constructeurs
La dclaration d'un objet est suivie d'une sorte d'initialisation par
le moyen d'une mthode particulire appele constructeur pour
que les variables aient une valeur de dpart.
Le constructeur suit la dfinition des autres mthodes except
que son nom doit obligatoirement correspondre celui de la
classe et qu'il n'est pas typ,. On peut surcharger un constructeur.

41
Les diffrentes manires de
dfinir un constructeur
Il existe plusieurs manires de dfinir un constructeur
Le constructeur simple : ce type de constructeur ne ncessite pas de
dfinition explicite: son existence dcoule automatiquement de la
dfinition de la classe.
public MaClasse() {}

Le constructeur avec initialisation fixe: : il permet de crer un


constructeur par dfaut
public MaClasse() {
nombre = 5;
}
Le constructeur par pramtres :pour spcifier les valeurs de donnes
initialiser on peut les passer en paramtres au constructeur

42
Exemple

43
Les destructeurs
Un destructeur permet d'excuter du code lors
de la libration de la place mmoire occupe
par l'objet. En java, les destructeurs appels
finaliseurs (finalizers), sont automatiquement
appels.
Pour crer un finaliseur, il faut redfinir la
mthode finalize() hrite de la classe Object.

44
Les accesseurs
Les donnes dclares private l'intrieur d'une classe ne
peuvent tre accdes et modifies que par des mthodes dfinies
dans la mme classe.
Si une autre classe veut accder aux donnes de la classe,
l'opration n'est possible que par l'intermdiaire d'une mthode de
la classe prvue cet effet
Un accesseur est une mthode publique qui donne l'accs une
variable d'instance prive.
Par convention, les accesseurs en lecture commencent par get et
Les accesseurs en criture commencent par set.

45
Exemple

46
Objets et Instanciation

47
Dfinition
La cration dun objet partir dune classe est appele
instanciation. Cet objet est une instance de sa classe.
Une instanciation se dcompose en trois phases
1. Cration et initialisation des attributs en mmoire, limage
dune structure.
2. Appel des mthodes particulires : les constructeurs qui sont
dfinies dans la classe
3. Renvoi dune rfrence sur lobjet (son identit) maintenant
cr et initialis

48
Les tapes de dclaration et
cration dinstance
Il est ncessaire de dfinir la dclaration d'une variable ayant le
type de l'objet dsir. La dclaration est de la forme :
Classe nom_variable;
L'oprateur new se charge de crer une instance de la classe et
De l'associer la variable:
MaClasse m;
m = new MaClasse();
Remarque :
im2 dsigne un objet de type MaClasse, l'instruction m2 = m ne
dfinit pas un nouvel objet mais m et m2 dsignent tous les deux
le mme objet.
Exemple :
String chaine = "bonjour" et String chaine = new String("bonjour")
sont quivalents.

49
Les rfrences et la comparaison
d'objets
Les variables dclars de type objet ne contiennent pas un objet
mais une rfrence vers cet objet. Lorsque l'on crive c1 = c2 (c1
et c2 sont des objets), on copie la rfrence de l'objet c2 dans c1 :
c1 et c2 rfrent au mme objet (ils pointent sur le mme objet).
L'oprateur == compare ces rfrences. Deux objets avec des
proprits identiques sont deux objets distincts :
Exemple :

50
Membres statiques et Autres
mots cls (final, this, null)

51
Les attributs statiques
Les attributs statiques sont des attributs marqus par le
mot cl static , ils dsignent les attributs
communs entre tous les objets.
On accde un attribut statique via :
1. Une instance quelconque de la classe.
2. Le nom de la classe directement.

52
53
Les mthodes statiques
On peut utiliser ces mthodes statiques pour manipuler des
donnes statiques.
Exemple:

54
Le mot cl final

Une variable qualifie de final signifie que la variable


est constante
Exemple : public static final float PI = 3.1416f;

Une mthode final ne peut pas tre redfinie dans


une sous classe.

55
Le mot cl this
Cette variable sert rfrencer dans une mthode l'instance de l'objet en cours d'utilisation.
this est un objet qui est gale l'instance de l'objet dans lequel il est utilis.

La rfrence this peut tre utile :


Lorsquune variable locale (ou un paramtre) cache, en portant le
mme nom, un attribut de la classe.
Pour appeler un constructeur depuis un autre constructeur.

56
Exemple

57
Le mot cl null

Il permet de reprsenter la rfrence qui ne rfrence


rien.

58
Les classes internes
Une classe interne (ou imbrique) est une classe dfinie lintrieur
dune autre classe au mme niveau quune mthode ou attribut.
Les classes internes sont visibles uniquement par les mthodes de
la classe dont laquelle sont dfinies.
Elles ont accs tous les lments de la classe.
On ne peut pas accder directement aux attributs et aux mthodes
de la classe interne . Toutefois, on peut les appeler indirectement
travers la classe externe.

59
Class Rectangle {
private int longueur;
private int larg;
Rectangle(int l, int a)
{longueur= l;
larg= a;}
class Point {
int x, y;
Point ( int x1, int y1)
{x=x1; y=y1;}
void affichep ()
{System.out.println ("Le centre se trouve dans " + x + " " + y);
}
}
Point p = new Point (10,5);
void affiche () {
System.out.println ("Longueur=" + longueur + " Largeur =" + larg);
}
}
class test_Rec{
public static void main(String [] args){
Rectangle r = new Rectangle (4,6);
Point p = new Point(12,14); //faux car la classe Point est invisible de lextrieur
r.p.affichep(); //on peut accder une mthode de la classe interne travers lattribut p de
lobjet r.
r.affiche() ;
}
} 60
Java

Hritage

61
Menu
rappel:
package
modificateurs de visibilit
utilit de lhritage
hritage
utilisation des modificateurs (extends, super)
surcriture des mthodes (override)
classes et mthodes abstraites (abstract)
les interfaces (interface, implements)
rsum des modificateurs
classes/interfaces (packages) existantes du JAVA
62
Rappel

utilisation des modificateurs de


visibilit public, protected, private

63
Organisation des classes en
packages
un certain nombre de classes peut tre
regroups en packages
chaque package peut contenir dautres
packages
chaque package correspond un rpertoire
dans le projet
les packages forment une arborescence
par dfaut, toutes les classes appartiennent
Default Package

64
arborescence des packages -exemple
Default Package

package1 package2

classe1.java package3 package4


classe5.java

classe2.java classe3.java classe4.java

65
rfrence aux classes des autres
packages
Deux possibilits :
oprateur point:
package1.package2
instruction import au dbut du fichier:
import package1.package2
toutes les proprits et les mthodes de cette
classe peuvent tre rfrences directement
exemple: java.lang.Math.sin est une mthode de
la classe Math du package java.lang
66
la notion de visibilit
proprit : une proprit est dite visible par
une classe si les mthodes de cette classe
peuvent avoir accs sa valeur et peuvent la
modifier.
mthode : une mthode est dite visible par
une classe si les mthodes de cette classe
peuvent lappeler.

67
visibilit des proprits et des
mthodes
public : visible de partout ( partir des
autres classes des autres packages
galement)
protected : (protg) visible uniquement
partir des classes du mme package
private : (priv) visible uniquement dans la
classe

68
69
important

Une classe ne peut pas tre prive


private class toto {}
Une classe ne peut pas tre protge
protected class toto {}

70
Comment rendre accessible une
proprit prive?
Mme si une proprit est prive, on peut y
accder laide des mthodes publiques ou
protges.
Ces mthodes peuvent tre accessible par une
autre classe.
Ces mthodes servent comme une interface entre
les proprits prives et des classes extrieures.
Ces mthodes peuvent raliser le contrle daccs
et la validit des valeurs, donc la protection des
donnes.
71
Les mthodes daccs une
proprit prive - exemple
public class Cercle { Vers lextrieure
private double rayon;
// mthode constructrice
public Cercle (double r) {
rayon = r;
getRayon setRayon
}
// mthodes d'acces
public double getRayon() {
return rayon; } rayon
public int setRayon( double r) {
Classe Cercle
if ( r>0 ) {
rayon = r; Accs la valeur
return 0;
} modifier la valeur
else return -1;
} La mthode permet dassurer la validit
} de la valeur en cas de modification
extrieure. 72
Hritage
extends, abstract, final, super

73
Hirarchie des classes

La hirarchie va vhicule

des classes
gnrales vers
voiture camion moto
les classes
spcifiques
4x4 utilitaire

74
hritage ()

la classe drive possde


LES PROPRIETES DE SA CLASSE MERE en
fonction des modificateurs
LES METHODES DE LA CLASSE MERE en
fonction des modificateurs

75
Hritage des proprits (exemple)
voiture
fabriquant
chauffeur

Utilitaire Proprits hrites


fabriquant, chauffeur
tansporteur
quantit

76
Hritage des mthodes (exemple)
voiture
dmarrer
arrter

Utilitaire Mthodes hrites


dmarrer, arrter
charger
dcharger

77
hritage sous JAVA
Dans len-tte da la classe drive, le mot cl
extends sert prciser la classe mre.
Une classe drive peut avoir une seule classe
mre.
Tous les proprits et les mthodes de la classe
mre sont hrites (i.e. utilisables dans la classe
drive) sauf celles dclars avec le modificateur
final
Les classes avec les modificateur final ne peuvent
pas tre des classes mres
78
public class EtreHumaine {
public boolean sexe;
public String nom;
public String profession;
// mthode constructeur
public EtreHumaine(boolean s, String n, String p) {
sexe = s;
nom = n;
profession = p;}

public void sePresenter() {


String s = (sexe) ? "homme" : "femme";
System.out.println("Mon nom est : " +nom);
System.out.println("Je suis un(e) " + s);
System.out.println("Ma profession : "
+ profession+"\n");}
}

79
classe drive
public class Etudiant extends EtreHumaine
{
// mthode constructrice classe mre
public Etudiant (boolean s, String n) { (superclass)
super (s,n,"etudiant");
}
}

appel du constructeur de la classe mre

Code trs compact, et la classe drive


possde les mmes proprits et les mme
mthodes que sa classe mre
80
dmonstration
public class ClasseMain {
public static void main(String[] args) {
EtreHumaine moi = new EtreHumaine(true,Kiss",
"enseignant");
moi.sePresenter();

Etudiant qui = new Etudiant(false,"Claire");


qui.sePresenter();

} La mthode sePresenter existe


pour la classe drive aussi

81
82
Remarques

sous JAVA, lhritage est dit simple : une


classe ne peut avoir quune seule classe
mre (lhritage multiple existe sous C++)
une classe peut tre la mre de plusieurs
classes drives
lhritage permet de dclarer les proprits
et les mthodes une seule fois : code trs
compact et rutilisation systmatique!
83
Overriding
(surcriture)
Dans la classe drive, on peut redfinir les
proprits et les mthodes de la classe mre.
La redfinition passe par un identificateur
identique.
Les mthodes surcrites de la classe mre sont
masqus.
Cependant, on peut avoir accs aux proprits et
mthodes de la classe mre avec le mot cl super
(voir la mthode constructeur de lexemple
prcdent) en fonction des modificateurs
84
exemple pour la surcriture
public class EtreHumaine {
public String nom;
classe mre
public EtreHumaine(String no) {
nom = no;
}
public void sePresenter() {
System.out.println("Je m'appelle "+nom+"\n");
}
public void saluer() {
System.out.println("Bonjour!\n");
}
}

85
classe drive
public class Marocain extends EtreHumaine {
public Marocain(String n) {
super(n);
}
// mthodes surcrites mthode surcrite
public void sePresenter() {
// rfrence la mthode de la classe mre
super.sePresenter();
System.out.println("Je suis marocain.\n");
}
public void saluer() {
System.out.println(" salam 3laykom ");
} mthode surcrite
}

86
quelques rgles de surcriture
Les proprits et les mthodes masques de
la classe mre sont rfrences laide du
mot cl super:
super.nom_mthode
super.nom_proprit
On ne peut pas rfrencer les mthodes et
proprits prives (private) de la classe
mre si elles sont surcrites.
Les mthodes finales (final) ne peuvent
jamais tre surcrites dans la classe drive.
87
mthodes et classes abstraites
une mthode est abstraite si on ne dclare que son
en-tte.
une classe est abstraite si toutes ses mthodes sont
abstraites.
une classe abstraite ne peut pas tre instancie.
(classe sans objet et sans constructeur)
dans une classe drive, les mthodes hrites
doivent tre implmentes.
Une proprit ne peut pas tre abstraite.
Une classe abstraite ne peut avoir aucun
constructeur.
88
exemple dune classe abstraite

classe abstraite

public abstract class CourbeFermee


{
public abstract double aire();
public abstract double circonference();
}

en-ttes (sans bloc de code)


Ces mthodes doivent tre
implmentes dans les classes
classe sans mthode drives

constructrice
89
premire classe drive
public class TriangleEquilateral extends CourbeFermee {
public double coteLongueur;
public TriangleEquilateral (double a) {
coteLongueur = a;
} implmentation
// implmentation des mthodes hrites
public double aire() {
return coteLongueur*Math.cos(Math.PI/6)*
coteLongueur/2;
}
public double circonference() {
return 3 * coteLongueur;
}
}

une mthode existante de la classe


java.lang.Math
90
deuxime classe drive
public class Cercle extends CourbeFermee {
public double rayon;
public Cercle (double r) {
rayon = r;
}
// implmentation des mthodes hrites
public double aire() {
return Math.PI * Math.pow(rayon,2);
}
public double circonference() {
return 2*rayon*Math.PI;
}
}

91
dmonstration
public class ClasseMain {
public static void main(String[] args)
{
TriangleEquilateral t1 =
new TriangleEquilateral(13.56);
Cercle c1 = new Cercle(34.76);
System.out.println("Aire du cercle : "+c1.aire());
System.out.println("Circ. du triangle : "
+t1.circonference());
try {System.in.read();}
catch (java.io.IOException e) {}
}
}

92
Interfaces

le mot cl implements

93
Interface approche abstraite
Une interface pour un objet regroupe les mthodes
de cet objet qui ne sont pas lies sa classe.
Considrons par exemple la classe des appareils
tls.
Le fait quun appareil tl peut avoir un prix dans
un supermarch et peut avoir une panne chez un
rparateur, nest pas directement li au fait quil
sagit dun tl.
Par consquent, il est mieux de dclarer
sparment quels sont les caractristiques des
objet qui sont vendables et rparables cela se
ferra dans des interfaces.

94
Interface approche abstraite
Une classe peut tre muni de plusieurs
interfaces.
quiper une classe par des interfaces est un
type dhritage.
Comme une classe peut avoir plusieurs
interfaces, il sagit de lhritage multiple.

95
Interface en Java

En Java, une interface est une classe tel que:


Toutes les variables sont des variables de classe
(static)
Toutes les variables sont finales (final)
Toutes les mthodes sont publique et abstraites
(public, abstract)

96
Interface conseil dutilisation
Ne pas mettre beaucoup de mthode dans une
classe.
Regrouper autant de mthodes en interfaces
quon peut.
Consquence: on peut enrichir le code dune
classe par limplmentation dune nouvelle
interface.

97
Implmentation des interafaces
En-tte dune classe qui implmente une
interface
class nomClasse implements nomInterface1,
nomInterface2
La mme classe peut implmenter plusieurs
interfaces hritage multiple

98
Interface exemple
public class EtreHumaine Classe mre
{
public String Nom;

public EtreHumaine(String n) {
Nom = n;
}
Interface
}

public interface Presentable


{
public abstract void sePresenter();
}

99
Rsum des modificateurs

abstract, final, public, protected,


private, static

100
abstract

si une classe est abstraite, alors elle possde


au moins une mthode abstraite
une classe abstraite na pas de constructeur
car elle ne peut pas avoir des objets
si une mthode est abstraite, alors on ne
dclare que son en-tte

101
final

si une classe est finale, alors elle ne peut


tre la classe mre des autres classes
si une mthode est finale, alors elle ne peut
pas tre surcrite dans une classe drive
si une proprit est finale, alors elle ne peut
pas tre modifie (il sagit dun constant)

102
public

si une classe/mthode/proprit est


publique, alors elle est visible dans les
classes des autres packages

103
protected

si une proprit/mthode est protge, alors


elle est visible uniquement dans les classes
du package o sa classe se trouve
une classe ne peut pas tre protge

104
private

si une proprit/mthode est prive, alors


elle est visible uniquement dans la classe o
elle se trouve
une classe ne peut pas tre prive

105
static
si une proprit est statique, alors il sagit
dune variable de classe sont il existe un seul
exemplaire pour tous les objets de la classe
si une mthode est statique, alors elle manipule
les proprits statiques de sa classe
une classe ne peut pas tre statique

106
Classe drive qui implmente
une interface
public class Etudiant extends EtreHumaine implements Presentable
{
public String Profession;

public Etudiant(String n)
{
super(n);
Profession = "etudiant";
}

public void sePresenter()


{
System.out.println("Je m'appelle " + Nom);
System.out.println("Je suis un(e) " + Profession +".");
}
}
107
classes (packages) existantes

108
JAVA est fourni avec des
packages et classes standards

pour faciliter la tche des programmeurs, les


concepteurs du JAVA ont prvu une trs
large gamme de classes, organises en
divers packages: java.lang, java.awt,
java.io, java.util, java.sun, etc...

109
Exemple : quelques classes du
java.lang
Integer : semblable au primitif int
Double : semblable au primitif double
String : on dj utilis
Math : beaucoup de mthodes et proprits
(statiques) de mathmatique : Math.PI,
Math.sin, etc
pour le reste : voir laide en ligne
(Microsoft Studio Developpement Network)
110