Programmation
orientée-objet: Java
Présenté par:
Pr. Samba DIAW
Département Génie Informatique /ESP /UCAD
Page web: [Link]
PDF Creator Trial
Sommaire
1. Présentation de l’approche objet
• Histoire de la POO
• Notion d’objet
• Notion de classe
2. Codage en Java
• Introduction
• Variable et Types primitifs
• La méthode principale (main)
• Les opérateurs
• Les classes
• Structures de contrôle
• Chaines de caractères
• Le type Date
• Tableaux (vecteurs et matrices)
• Les énumérations
• Interface et classe d’implémentation
• Les exceptions
PDF Creator Trial
• Connexion JDBC [Link]@[Link]
Introduction
Ecrire un programme informatique revient
à coder dans un langage de
programmation.
Les programmes s'appuient sur des
données et sur la logique pour fonctionner.
Pour cela, le programmeur doit dire à
l'ordinateur ce qu'il doit faire et comment il
doit le faire.
PDF Creator Trial [Link]@[Link]
Paradigme Objet
PDF Creator Trial
Histoire de la POO
1967 : Simula fut le premier langage de programmation à implémenter
le concept de type abstrait à l'aide de classes
1976 : Smalltalk implémente les concepts fondateurs de l'approche
objet (encapsulation, agrégation, héritage) à l'aide de :
classes
associations entre classes
hiérarchies de classes
messages entre objets
1980 : le 1er compilateur C++ est normalisé par l'ANSI et depuis lors de
nombreux langages orientés objets académiques implémentent les
PDF Creator Trial concepts objets : Eiffel, Objective C, Loops, Java, Python, Ruby, C#,
[Link]@[Link]
Concepts de base
PDF Creator Trial
Notion d’objet
Représentation abstraite d’une entité du monde réel ou virtuel
Caractéristique fondamentales d’un objet (informatique)
Objet = État + Comportement + Identité
État
Un étudiant Regroupe les valeurs instantanées de tous les attributs
INE = 2019HT d’un objet : Exemple : Un objet Etudiant regroupe les
Prénom = Adama valeurs des attributs INE, Prénom, Nom et Age
Comportement:
Nom = SECK
Regroupe les compétences d’un objet (service proposés
Age = 22 par l’objet)
Identité
Elle permet d’identifier sans ambiguïté deux objets qui
ont le même état
PDF Creator Trial [Link]@[Link]
Notion de Classe
Définition
Une classe décrit une abstraction d’objets
ayant
Des propriétés similaires
Un comportement commun
Des relations identiques avec les autres objets
Une sémantique commune
Par exemple Etudiant (resp. Filière, resp.
Cours) est la classe de tous les étudiants (resp.
filières, resp. cours)
PDF Creator Trial [Link]@[Link]
Notion de Classe
Caractéristiques d’une classe
Un objet créé par (on dit également appartenant à) une
classe sera appelé une instance de cette classe ou
variables d'instances
Les généralités sont contenues dans la classe et les
particularité sont contenues dans les objets
Les objets sont construits à partir des classes, par un
processus appelé instanciation : tout objet est une
instance de classe
Nous distinguons deux types de classes
Classe concrète : peut être instanciée
Classe abstraite : est une classe non instanciable
PDF Creator Trial [Link]@[Link]
Classe
Représentation graphique d’une classe en UML
Chaque classe est représentée sous la forme d’un rectangle
divisé en trois compartiments
Les compartiments peuvent être supprimés pour alléger les
diagrammes
Voiture
Nom de classe Marque Ascenseur
Attributs Type Monter ()
Vitesse Descendre ()
Opérations()
Vitesse maximale
Démarrer()
Accélérer()
Freiner()
PDF Creator Trial [Link]@[Link]
Encapsulation
Consiste à masquer les détails d'implémentation
d'un objet en définissant une interface
L'interface est la vue externe d'un objet
(spécification), elle définit les services accessibles
(offerts) aux utilisateurs de l'objet.
Elle permet de garantir l’intégrité des données en
restreignant l’accès direct aux attributs des objets
L’objet
Attribut_i Attribut_R
Partie visible
Attribut_j Attribut_S
Opération_k Opération_T Partie masquée (encapsulée)
Opération_l Opération_V
PDF Creator Trial [Link]@[Link]
Encapsulation
Règle de visibilité
Il est possible d’assouplir le degré
+ Attribut public d’encapsulation en définissant des niveaux de
# Attribut protégé visibilité
- Attribut privé Les niveaux de visibilité sont:
Attribut de niveau package Niveau privé (-) : c’est le niveau le plus
fort ; la partie privée de la classe est
+ Opération publique() totalement opaque et n’est pas visible aux
# Opération protégée() autres objets. Un attribut défini dans la
- Opértion privée() partie privée d’une classe n’est visible que
dans cette classe. Pour toutes les autres
classe, l’attribut reste invisible
Salarié
Niveau Paquetage: Un attribut défi dans ce
+ nom niveau est visible dans toutes les classes
# age appartenant au même paquetage
- salaire
+ donnerSalaire()
# changerSalaire()
- calculerPrime()
PDF Creator Trial [Link]@[Link]
Encapsulation
Règle de visibilité
+ Attribut public Niveau protégé (#) : les attributs placés
# Attribut protégé dans la partie protégée sont visibles
- Attribut privé
1. dans toutes les classes appartenant
Attribut de niveau package
au même paquetage
+ Opération publique()
2. dans toutes les classe filles de la
# Opération protégée()
- Opértion privée() classe mère qui contient l’attribut
Niveau publique (+) : Ce niveau revient
à se passer de la notion d’encapsulation
Employe et de rendre visibles les attributs pour
+ nom toutes les classes
# prénom
- salaire
+calculerSalaire()
# changerSalaire()
- calculerPrime()
PDF Creator Trial [Link]@[Link]
Codage en Java
PDF Creator Trial
Sommaire
1. Introduction
2. Variable et Types primitifs
3. La méthode principale (main)
4. Les opérateurs
5. Les classes
6. Structures de contrôle
7. Chaines de caractères
8. Les Dates
9. Tableaux (vecteurs et matrices)
[Link] énumérations
[Link] et classe d’implémentation
[Link] exceptions
PDF Creator Trial
[Link] JDBC
[Link]@[Link]
Introduction
Java est un langage de programmation
orientée-objet multi-plateforme
Syntaxe de Java est inspirée de celle du
langage C
Java est sensible à la casse
Les blocs de code sont encadrés par des
accolades
Chaque instruction se termine par un ;
Une instruction peut se tenir sur plusieurs
PDF Creator Trial lignes [Link]@[Link]
Variables , Types et
Opérateurs en Java
PDF Creator Trial
Variable
Variable est assimilable à une boite qui
contient une donnée (valeur)
L’adresse de la variable en mémoire peut
être assimilée à l’emplacement d’une boite
dans un entrepôt de donnée
Variable est décrite par son identificateur
appelé aussi nom de la variable et son type
Le nom d’une variable doit être le pus
explicite possible
PDF Creator Trial [Link]@[Link]
Variable
Le premier caractère doit être une lettre, le
caractère de soulignement ou le signe dollar
Un identificateur ne peut pas appartenir à la
liste des mots réservés en Java
Exemple
PDF Creator Trial [Link]@[Link]
Les types primitifs
boolean : Valeur logique true or false
byte: octet signé (8 bits): -128 à 127
short: entier cout signé (16 bits)
char: caractère unicode (16 bits)
int: entier signé (32 bits)
long: entier long (64 bits)
float: virgule flottante simple précision
double: virgule flottante double précision
PDF Creator Trial [Link]@[Link]
Mon premier Programme
PDF Creator Trial [Link]@[Link]
Paramètres de la méthode principale
PDF Creator Trial [Link]@[Link]
Les opérateurs
1. Opérateurs arithmétiques (+, *, /, -, %)
2. Opérateurs d’assignation (=;+=,-=)
3. Opérateurs de comparaison
(<,>,<=,>=,==,!=)
4. Oopérateurs bit à bit: (&, ^, |)
5. Opérateurs logiques: ( &&, ||, !)
6. Opérateurs d’incrémentation et de
décrémentation (++, --)
7. ?: Opérateur ternaire condition ? b:c
Renvoie b si condition est vraie et c sinon
PDF Creator Trial [Link]@[Link]
Priorité des opérateurs
1. Parenthèses ()
2. opérateur d’incrémentation: ++
3. opérateur de décrémentation: --
4. Opérateurs arithmétiques: *,/,%
5. Opérateurs de comparaison ou relationnels:
<,>,<=,>=,==,!=
6. Opérateurs logiques bit à bit: ^, &, |
7. Opérateurs logiques booléens: &&, ||, !
8. Opérateurs d’assignement ou d’affectation
PDF Creator Trial composée (=;+=,-=)
[Link]@[Link]
Définition d’une
classe Java
PDF Creator Trial
Etudiant
-INE: String
-Prénom: String Classe en JAVA
-Nom: String
PDF Creator Trial [Link]@[Link]
Définition des méthodes
Etudiant
-INE: String
-Prénom: String
-Nom: String
+getINE (): String
+setINE (String): void
PDF Creator Trial [Link]@[Link]
Constructeur d’une
classe Java
PDF Creator Trial
Instanciation
On appelle instance d’une classe, un objet avec un
comportement et un état, tous deux définis par sa
classe.
L’instanciation est l’opération qui consiste à créer un
objet à partir d’une classe En Java, le mot-clé new
provoque une instanciation en faisant appel à un
constructeur de la classe instanciée
PDF Creator Trial [Link]@[Link]
Constructeur
Un constructeur est une méthode qui a le même nom
que la classe et qui n’a pas de valeur de retour
Plusieurs constructeurs peuvent exister dans une
même classe (avec des arguments différents)
Il faut au moins un constructeur dans une classe pour
en instancier des objets
L’appel au constructeur affecte une nouvelle adresse
en mémoire pour le nouvel objet crée
PDF Creator Trial [Link]@[Link]
Constructeur sans paramètre
Etudiant
-INE: String
-Prénom: String
-Nom: String
+getINE (): String
+setINE (String): void
PDF Creator Trial [Link]@[Link]
Constructeur avec paramètres
Etudiant
-INE: String
-Prénom: String
-Nom: String
+getINE (): String
+setINE (String): void
PDF Creator Trial [Link]@[Link]
Exemple d’instanciation
PDF Creator Trial [Link]@[Link]
Les structures de
contrôle
PDF Creator Trial
Structures de contrôle
Les boucles
Boucle for
Boucle while
Boucle do ….. while
Les branchements conditionnels
L’instruction if
L’instruction switch
PDF Creator Trial [Link]@[Link]
Exemple d’utilisation de for
PDF Creator Trial [Link]@[Link]
Exemple d’utilisation de while
PDF Creator Trial [Link]@[Link]
Exemple d’utilisation de do..while
PDF Creator Trial [Link]@[Link]
Exemple d’utilisation du
branchement if
PDF Creator Trial [Link]@[Link]
Exemple d’utilisation du
branchement switch
PDF Creator Trial [Link]@[Link]
Classe Scanner
(gestion des entrées)
PDF Creator Trial
Classe Scanner
PDF Creator Trial [Link]@[Link]
Les chaines de
caractères
PDF Creator Trial
Chaines de caractères
Les variables de Type String sont des
objets
Si une chaine de caractères est déclarée
avec une constante: le compilateur génère
un objet de type String avec le contenu
spécifié
boolean equals(String) : Comparaison de
deux chaines
L’égalité (==) compare les adresses et
PDF Creator Trial
non les contenus
[Link]@[Link]
Fonctions sur les chaines
Concaténation de deux chaines (+)
Remplacement
String replace (char c, char x) remplace le
caractére c par le caractére x dans la chaine
Caractère à une position :
char charAt(j) retourne le caractère à la position j
Sous-chaine
String subString(int i, int j) retourne la sous-chaine
de la position i à la position j-1
String subString(int i) retourne la sous-chaine de la
position i à la position fin
PDF Creator Trial [Link]@[Link]
Méthodes de la classe String
Transformer une chaine en majuscule
String toUpperCase()
Transformer une chaine en minuscule
String toLowerCase()
Fusion de deux chaines
String concat (String)
Covertir une variable en String
String valueOf (Type)
Type: int, long, char, boolean, double, float, Object,
char [], etc.)
PDF Creator Trial [Link]@[Link]
Conversion entre
types
PDF Creator Trial
Conversation implicite
byte vers short
short vers int
int vers long
float vers double
PDF Creator Trial [Link]@[Link]
Formatage et conversion
PDF Creator Trial [Link]@[Link]
Le type Date
PDF Creator Trial
Les Dates
[Link] (pour les dates et heures)
[Link] (pour les dates
uniquement sans les informations de
l’heure)
PDF Creator Trial [Link]@[Link]
Formatage des dates
PDF Creator Trial [Link]@[Link]
Les tableaux
(Vecteurs et
Matrices)
PDF Creator Trial
Les tableaux
Ce sont des objets: ils sont dérivés la
classe Object. Il est possible d’utiliser les
méthodes héritées telles que equals () ou
getClass().
Le premier élément d’un tableau possède
l’indice 0
length détermine la taille d’un tableau
PDF Creator Trial [Link]@[Link]
Vecteur ou Tableau
Java permet de placer les crochets
avant ou après le nom du tableau
Déclaration puis allocation
Déclaration et allocation
PDF Creator Trial [Link]@[Link]
Initialisation explicite
PDF Creator Trial [Link]@[Link]
Initialisation implicite
PDF Creator Trial [Link]@[Link]
Déclaration (matrice)
Java permet de placer les crochets avant
ou après le nom du tableau
Déclaration puis allocation
Déclaration et allocation
PDF Creator Trial [Link]@[Link]
Déclaration
matrice dont les vecteurs n’ont pas le ême
nombre
Déclaration et allocation
Initialisation explicite d’une matrice
PDF Creator Trial [Link]@[Link]
Initialisation d’une matrice carrée
PDF Creator Trial [Link]@[Link]
Initialisation d’une matrice non carrée
PDF Creator Trial [Link]@[Link]
Affichage horizontale
PDF Creator Trial [Link]@[Link]
Affichage verticale
PDF Creator Trial [Link]@[Link]
Affichage verticale
PDF Creator Trial [Link]@[Link]
Palindrome
PDF Creator Trial [Link]@[Link]
Fonction Palindrome
PDF Creator Trial [Link]@[Link]
Les énumérations
PDF Creator Trial
Les énumérations
Les énumération sont des types dont
l’ensemble des valeurs n’est pas indéfini
PDF Creator Trial [Link]@[Link]
Tester une énumération
PDF Creator Trial [Link]@[Link]
Définition d’une énumération en
JAVA
PDF Creator Trial [Link]@[Link]
Tester une énumération
PDF Creator Trial [Link]@[Link]
Tester une énumération
PDF Creator Trial [Link]@[Link]
Tester une énumération
PDF Creator Trial [Link]@[Link]