Programmation Orientée Objet en Java
Programmation Orientée Objet en Java
Orientée Objet
avec Java
5 septembre 2013
Programmation
Orientée Objet
avec Java
Chapitre 1: Introduction
Chapitre 2: Bases de Java
Chapitre 3: Les tableaux simples
Chapitre 4: Classes, attributs, méthodes
Chapitre 5: Héritage
Chapitre 6: Documenter un projet
Chapitre 7: Exceptions
Chapitre 8: Interfaces – Classes abstraites
Chapitre 9: Les collections
Chapitre 10: Mini projet
mini-projet
Programmation
Orientée Objet
avec Java
Chapitre I – Introduction
I. Les notions de
la programmation
orientée objet
I. Les notions de la programmation orientée objet
II. Un premier
exemple
II. Un premier
exemple
La programmation structurée est basée sur une décomposition en
actions.
La programmation orientée objet travaille avec une décomposition en
objet.
Les instructions élémentaires sont les mêmes, mais leur regroupement
est différent.
On trouve dans l’approche objet trois principes fondamentaux :
l’encapsulation : un objet regroupe à la fois ses attributs et ses
opérations associées,
l’indépendance temporelle : le comportement d’un objet est
indépendant du contexte dans lequel il est appelé,
l’indépendance spatiale : les informations relatives à une même
entité sont physiquement dans le même module.
Programmation
Orientée Objet
avec Java
Introduction
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
La programmation structurée est basée sur une décomposition en
actions.
La programmation orientée objet travaille avec une décomposition en
objet.
Les instructions élémentaires sont les mêmes, mais leur regroupement
est différent.
On trouve dans l’approche objet trois principes fondamentaux :
l’encapsulation : un objet regroupe à la fois ses attributs et ses
opérations associées,
l’indépendance temporelle : le comportement d’un objet est
indépendant du contexte dans lequel il est appelé,
l’indépendance spatiale : les informations relatives à une même
entité sont physiquement dans le même module.
Programmation
Orientée Objet
avec Java
Introduction
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
La programmation structurée est basée sur une décomposition en
actions.
La programmation orientée objet travaille avec une décomposition en
objet.
Les instructions élémentaires sont les mêmes, mais leur regroupement
est différent.
On trouve dans l’approche objet trois principes fondamentaux :
l’encapsulation : un objet regroupe à la fois ses attributs et ses
opérations associées,
l’indépendance temporelle : le comportement d’un objet est
indépendant du contexte dans lequel il est appelé,
l’indépendance spatiale : les informations relatives à une même
entité sont physiquement dans le même module.
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java
un exemple de programme
I. Les notions de
la programmation
orientée objet
II. Un premier
exemple
II. Un premier
exemple
II. Un premier
exemple l’exécution d’un programme en Java se fait toujours dans une
méthode principale qui se nomme toujours main ; l’entête de
cette méthode est toujours comme dans la ligne 2, on ne peut
changer que l’identificateur arg
String est une classe du paquetage [Link] ;
String [ ] arg est le paramètre de la méthode main, et c’est un
tableau de chaı̂nes de caratères
[Link](”affichez ce que vous voulez”) ; est une
instruction qui écrit à l’écran affichez ce que vous voulez puis
passe à la ligne ; println est une méthode de l’objet out qui
appartient à la classe System, cet objet sert à écrire dans le
fenêtre d’exécution
toute instruction se termine par un point-virgule
Programmation
Orientée Objet
avec Java
compilation
I. Les notions de
la programmation
orientée objet
II. Un premier
Pour compiler ce fichier, dans une fenêtre de commande, on exécute
exemple
la commande
javac [Link]
java MaClasse
II. Un premier
Java fournit de nombreuses librairies de classes remplissant des
exemple fonctionnalités très diverses : c’est l’API Java (Application and
Programming Interface /Interface pour la programmation
d’applications).
Ces classes sont regroupées par catégories en paquetages (ou
!packages").
II. Un premier
exemple
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération
VII. Entrées -
classes
sorties
attributs (ou variables)
VIII. Construire
ses propres
méthodes (ou fonctions ou procédures)
fonctions
Le point d’entrée est toujours la méthode main dont l’en-tête est
toujours
public static void main ( String [ ] arg ) {... }
C’est la méthode automatiquement appelée par Java.
Programmation
Orientée Objet
avec Java
I. Structure d’un
programme en
Java
II. Les types en Tout ce qui est délimité par de accolades respectivement ouvrante et
Java
fermante sera appelé un bloc.
III. Les types
primitifs Un programme doit toujours être commenté pour des raisons de
IV. La décision lisibilité, d’évolution potentielle . . .
V. L’itération Les commentaires sont
VI. Classes
enveloppantes /∗ sur plusieurs
VII. Entrées - lignes ∗/
sorties
I. Structure d’un
programme en Les identificateurs sont composés de suite de lettre ou de chiffre,
Java
commencent par une lettre et doivent être différents des mots
II. Les types en
Java réservés et des mots-clés.
III. Les types
primitifs
Par exemple, MaClasse, maClasse, ma classe, maClasse1,. . .
IV. La décision
On respectera cette convention d’écriture :
V. L’itération tout nom de classe commence avec une majuscule
VI. Classes
enveloppantes tout nom de méthode commence avec une minuscule
VII. Entrées -
sorties
tout nom de variable ou attribut commence avec une minuscule ;
VIII. Construire par exemple entier
ses propres
fonctions si le nom de la méthode ou de la variable est composé de
plusieurs mots alors le premier caractère des mots suivants le
premier mot sont en majuscule ; par exemple
changerDePlace() , monEntierAMoiEtAPersonneDAutre.
Programmation
Orientée Objet
avec Java
Les types en Java
I. Structure d’un
programme en
Java
I. Structure d’un
programme en
Java
I. Structure d’un
programme en
Java
VI. Classes
La référence d’une donnée est l’adresse en mémoire de cette donnée.
enveloppantes La référence est typée par le type de la donnée dont elle est l’adresse
VII. Entrées -
sorties
mémoire.
VIII. Construire Selon la règle énoncée une variable de type primitif contient une
ses propres
fonctions valeur de ce type et une variable de type non primitif contient
l’adresse mémoire où est stockée la valeur de type.
Programmation
Orientée Objet
avec Java
Exemple
I. Structure d’un
programme en
Java public class Essai {
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
II. Les types en b y t e [ ] t ={1 ,2 ,3};
Java byte [ ] s ;
s h o r t x =1;
III. Les types
short y ;
primitifs
s=t ;
IV. La décision S yste m . o u t . p r i n t l n ( ” t a b l e a u 1 ”+ t ) ;
// t a b l e a u 1 [ B@6e1408
V. L’itération // a d r e s s e e n h é x a d é c i m a l ( b a s e 1 6 )
S yste m . o u t . p r i n t l n ( ” t a b l e a u 2 ”+ s ) ;
VI. Classes // t a b l e a u 2 [ B@6e1408
enveloppantes t [0]= −1;
S yste m . o u t . p r i n t l n ( ” t a b l e a u 1 , 1 è r e v a l e u r ”+ t [ 0 ] ) ;
VII. Entrées - // t a b l e a u 1 [ B@6e1408 −1
sorties S yste m . o u t . p r i n t l n ( ” t a b l e a u 2 , 1 è r e v a l e u r ”+ s [ 0 ] ) ;
// t a b l e a u 2 [ @6e1408 −1
VIII. Construire
S yste m . o u t . p r i n t l n ( ” x=”+x ) ; // x=1
ses propres
y=x ; x =2;
fonctions
S yste m . o u t . p r i n t l n ( ” x=”+x ) ; // x=2
S yste m . o u t . p r i n t l n ( ” y=”+y ) ; // y= 1
}
}
Programmation
Orientée Objet
avec Java
Affectation des types non primitifs
I. Structure d’un
programme en
Java
V. L’itération
comparaison et l’affectation.
VI. Classes
Dans ce dernier cas c’est l’adresse mémoire qui est dupliquée et non
enveloppantes
pas les données référencées.
VII. Entrées -
sorties
VI. Classes
sont manipulées par valeur.
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
le type booléen
I. Structure d’un
programme en
Java
V. L’itération
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
le type caractère
I. Structure d’un
programme en
Java
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
les types entier
I. Structure d’un
programme en
Java
V. L’itération
long : 8 octets, intervalle [−9.1018, 9.1018 ] environ
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
écriture des entiers
I. Structure d’un
programme en
Java
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes
VII. Entrées -
est égal à −56.
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes
VII. Entrées -
est égal à −56.
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes
VII. Entrées -
est égal à −56.
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes
VII. Entrées -
est égal à −56.
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes
VII. Entrées -
est égal à −56.
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes
VII. Entrées -
est égal à −56.
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java
VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérateurs de comparaison et
I. Structure d’un
programme en opérateurs logiques
Java
V. L’itération
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
écriture des flottants
I. Structure d’un
programme en
Java
VI. Classes
On peut utiliser une notation scientifique ; par exemple, 1.02e1f de
enveloppantes type float ou .102e2 de type double.
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les réels
I. Structure d’un
programme en
Java
VIII. Construire
valeur absolue : abs
ses propres
fonctions Pour toutes ces fonctions l’argument est de type double.
Programmation
Orientée Objet
avec Java
Exemple
I. Structure d’un
programme en
Java
V. L’itération
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Conversions implicites entre types
I. Structure d’un
programme en
Java
V. L’itération
type int pour l’affecter à y.
VI. Classes
Pour le type char, une valeur de ce type a un code unicode \uhhhh ;
enveloppantes
lorsque cette valeur est affectée à une variable i de type int hhhh est
VII. Entrées -
sorties calculé en décimal et affecté à i.
VIII. Construire Par exemple,
ses propres
fonctions i = ’2’ ; [Link](i) ;
affiche 50 car le caractère ’2’ a le code \u0032.
Programmation
Orientée Objet
avec Java
Conversions explicites entre types
I. Structure d’un
programme en
Java
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Constantes
I. Structure d’un
programme en
Java
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
La décision
I. Structure d’un
programme en
Java
IV. La décision
1. l’instruction if
2. l’instruction
switch
V. L’itération
On va voir deux instructions de décision if et switch
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
syntaxe de if
I. Structure d’un
programme en
Java
VI. Classes
Remarques :
enveloppantes
else n’est pas obligatoire,
VII. Entrées -
sorties
Si SuiteDInstructions ne contient qu’une unique instruction
VIII. Construire
ses propres alors les accolades ne sont pas obligatoires.
fonctions
Programmation
Orientée Objet
avec Java
syntaxe de if
I. Structure d’un
programme en
Java
IV. La décision
V. L’itération
1. l’instruction
On va voir les instructions
for
2. l’instruction for
while
3. l’instruction
do while
while
4. Dérouter une
itération do while
VI. Classes
enveloppantes
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
l’instruction for
I. Structure d’un
programme en
Java
III. Les types for(i=0 ;i<10 ; i++) effectue 10 itérations pour i variant de 0 à 9.
primitifs
IV. La décision
for(i=1 ;i<10 ; i++) effectue 9 itérations pour i variant de 1 à 9.
V. L’itération
for(i=1 ;i<=10 ; i++) effectue 10 itérations pour i variant de 1 à 10.
1. l’instruction
for
for(int j=10 ;j>=1 ; j−−) effectue 10 itérations pour j variant de
2. l’instruction
while
10 à 1.
3. l’instruction
do while
Remarques :
4. Dérouter une
itération les boucles for peuvent être imbriquées
VI. Classes
enveloppantes le compteur peut être utilisé dans la suite d’instructions
VII. Entrées -
sorties
si compteur est déclaré dans la boucle for sa portée est limitée
VIII. Construire à la boucle (il sera invisible en dehors).
ses propres
fonctions
Programmation
Orientée Objet
avec Java
l’instruction while
I. Structure d’un
programme en
Java
VII. Entrées -
variables de l’expression booléenne de façon à ce qu’elle devienne
sorties fausse sinon on a un risque de boucle infinie.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
l’instruction do while
I. Structure d’un
programme en
Java
IV. La décision
La syntaxe est la suivante
V. L’itération
1. l’instruction do { SuiteDInstructions; }
for
2. l’instruction while (expressionBooléenne);
while
3. l’instruction
do while
4. Dérouter une
SuiteDInstructions est exécutée et tant que
itération
expressionBooléenne est vraie on répète cette exécution. De
VI. Classes
enveloppantes même on doit s’assurer que l’expression booléenne devienne fausse au
VII. Entrées -
sorties
cours de l’exécution de la suite d’instructions.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
différence en while et do while
I. Structure d’un
programme en
Java
IV. La décision
L’expression booléenne n’est pas évaluée au même moment
V. L’itération
1. l’instruction
Avec while l’expression booléenne est évaluée avant l’exécution des
for
2. l’instruction instructions.
while
3. l’instruction Avec do while l’expression booléenne est évaluée après l’exécution
do while
4. Dérouter une des instructions.
itération
VI. Classes
Donc , la suite d’instructions est toujours exécutée au moins une fois
enveloppantes avec do while .
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Dérouter une itération
I. Structure d’un
programme en
Java
III. Les types Il est possible de considérer les types primitifs comme des types objet
primitifs
par l’intermédiaire des ! classes enveloppantes " qui existent pour
IV. La décision
chaque type primitif :
V. L’itération
VII. Entrées -
...
sorties
VIII. Construire
[Link] ! float
ses propres
fonctions [Link] ! boolean
[Link] ! character
Ces classes possèdent des méthodes permettant le traitement relatif
au type primitif associé.
Programmation
Orientée Objet
avec Java
exemple
I. Structure d’un
programme en
Java
VII. Entrées -
sorties
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Sorties
I. Structure d’un
programme en
Java
V. L’itération
[Link](x) ;
VI. Classes
enveloppantes
IV. La décision
V. L’itération
VI. Classes
Pour afficher un texte il faut le mettre entre guillemets.
enveloppantes On peut afficher les contenus de plusieurs variables et du texte en les
VII. Entrées -
sorties
séparant par un +.
1. Sorties On dit que le symbole + est un symbole de concaténation.
2. Entrées
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
En ligne de commande
I. Structure d’un
programme en
Java
VI. Classes
Elle a comme argument un tableau de chaı̂nes de caractères. On peut
enveloppantes alors fournir des valeurs pour ces paramètres en ligne de commande.
VII. Entrées -
sorties
Par exemple
1. Sorties p u b l i c c l a s s Argument {
2. Entrées p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
int x ;
VIII. Construire
x = I n t e g e r . p a r s e I n t ( arg [ 0 ] ) ;
ses propres
S yste m . o u t . p r i n t l n ( ”L ’ e n t i e r v a u t ” + x ) ;
fonctions
}
Programmation
Orientée Objet
avec Java
Entrées
I. Structure d’un
programme en
Java
III. Les types Sinon dans un environnement non graphique on utilisera la classe
primitifs
IV. La décision
Scanner du package [Link] (à partir de Java 1.5 seulement)
V. L’itération
pour réaliser des saisies au clavier.
VI. Classes Grâce à cette classe on peut saisir des valeurs numériques byte,
enveloppantes
short, int, long, float, double et des valeurs caractères ou
VII. Entrées -
sorties chaı̂nes de caractères.
1. Sorties
2. Entrées
On commence tout d’abord avant la définition de la classe par
VIII. Construire importer la classe Scanner
ses propres
fonctions import [Link] ;
Puis on crée un objet de type Scanner de la façon suivante
Scanner saisieClavier = new Scanner([Link]);
Programmation
Orientée Objet
avec Java
la classe Scanner
I. Structure d’un
programme en
Java
VII. Entrées -
nextShort, nextInt, nextLong, nextFloat, nextDouble.
sorties Pour une chaı̂ne de caractères String on utilise la méthode
1. Sorties
2. Entrées [Link]() qui saisit la suite de caractères jusqu’au caractère
VIII. Construire
ses propres
espace qui marque la fin de la saisie.
fonctions Pour saisir une phrase composée de plusieurs mots on utilise la
méthode [Link]().
Pour saisir un caractère on utilise la méthode
[Link]().charAt(0) qui saisit le premier caractère entré.
Programmation
Orientée Objet
avec Java
Exemple
I. Structure d’un
programme en import j ava . u t i l . Scanner ;
Java p u b l i c c l a s s EssaiPgcd {
// f c t q u i r e n v o i e l e p gc d d e a e t b
II. Les types en s t a t i c i n t p gc d ( i n t a , i n t b){
Java w h i l e ( a != b ) {
i f ( a<b ) b=b−a ; e l s e a−=b ;}
III. Les types r e t u r n a ;}
primitifs // méthode main
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g ) {
IV. La décision
int x ; int y ;
V. L’itération S c a n n e r s a i s i e C l a v i e r = new S c a n n e r ( S yste m . i n ) ;
S yste m . o u t . p r i n t l n ( ” e n t r e z 2 e n t i e r s p o s i t i f s ” ) ;
VI. Classes S yste m . o u t . p r i n t l n ( ” s i n o n e n t r e z ( 0 p o u r a r r e t e r ) ” ) ;
enveloppantes x= s a i s i e C l a v i e r . n e x t I n t ( ) ;
while ( x > 0) {
VII. Entrées - y= s a i s i e C l a v i e r . n e x t I n t ( ) ;
sorties i f ( y <= 0 ) b r e a k ; e l s e {
1. Sorties S yste m . o u t . p r i n t l n ( ” l e p gc d d e ”+x+” e t ”+y+
2. Entrées ” e s t ” +p gc d ( x , y ) ) ;
S yste m . o u t . p r i n t l n ( ” e n t r e r d e u x e n t i e r s p o s i t i f s
VIII. Construire (0 pour a r r e t e r )” ) ;
ses propres x= s a i s i e C l a v i e r . n e x t I n t ( ) ; }
fonctions } } }
Programmation
Orientée Objet
avec Java
Fonctions
I. Structure d’un
programme en
Java
IV. La décision
V. L’itération
VII. Entrées -
types primitifs et les autres. Pour le premier cas on parlera toujours
sorties de fonctions mais de méthodes pour les types non primitifs.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Syntaxe
I. Structure d’un
programme en
Java
IV. La décision
pour l’appel de la fonction,
V. L’itération listeDeParamètres est la liste des paramètres avec lesquels la
VI. Classes fonction sera appelée,
enveloppantes
IV. La décision
IV. La décision
les paramètres
V. L’itération des variables propres à la fonction que l’on dira locales à la
VI. Classes fonction.
enveloppantes
VIII. Construire
paramètres réels ou effectifs.
ses propres
fonctions
Si la fonction renvoie un résultat elle sera utilisée comme une variable
du type renvoyé : affectation, test, dans une autre fonction ou
méthode . . ..
Par exemple,
z=pgcd(x,y) ;
Programmation
Orientée Objet
avec Java
passage de paramètres
I. Structure d’un
programme en
Java
IV. La décision
V. L’itération
VI. Classes
enveloppantes
Règle : en Java les arguments d’une fonction sont passés
VII. Entrées -
par valeur, c’est-à-dire les valeurs des paramètres
sorties
réels sont copiés au moment de l’appel.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Fonction récursive
I. Structure d’un
programme en
Java
IV. La décision 1 Ecrire un programme qui saisit un entier n et qui affiche le terme
V. L’itération
de rang n de la suite de Fibonacci.
VI. Classes
enveloppantes 2 Ecrire un programme qui saisit un entier n et qui affiche le
VII. Entrées -
sorties
nombre d’itérations de la suite de Syracuse pour atteindre 1.
VIII. Construire
ses propres
3 Ecrire un programme qui saisit un entier seuil et qui affiche le
fonctions rang k du premier terme de la suite de Fibonacci qui dépasse
seuil.