Program. Objets - S4 Diakite
Program. Objets - S4 Diakite
L2 Informatique – S4
Plan du Cours
Introduction aux concepts de l’approche orientée objets
Types de données en java
Les structures itératives et conditionnelles
Classe java
déclaration classe, constructeur d’une classe, attributs d’une classe
Création des objets
Les modificateurs d’accès (public, private, protected,…)
Les méthodes
déclaration , surcharge, redéfinition d’une méthode
Création et utilisation des packages
Les variables de classe & les constantes (static-final)
L’héritage en java
Les classes abstraites et les interfaces
Présentation de quelques packages prédéfinis de java
Les entrées et sorties
Manipulation des chaînes de caractères
Tableaux et collections de données
La gestion d’erreurs (les exceptions)
Les classes internes
Les interfaces graphiques
1
Partie I
Introduction aux concepts de l’Approche
Orientée Objets
Objectifs de la POO :
• Conception de l’organisation de grands projets informatiques autour d’entités précisément structurées (objets)
• Amélioration de la sûreté des logiciels en gérant l’accès aux données sensibles (encapsulation)
• Simplifier la réutilisation de code grâce à l’extension des objets existants (héritage) et partage des méthodes
(polymorphisme)
• Notion de classe: Elle regroupe l’ensemble des objets ayant en commun les mêmes caractéristiques
2
I. Introduction aux concepts de l’Approche Orientée Objets (2)…
Exemple de classe
Classe Personne
Personne
NCIN : entier
Nom : chaine de caractères
Les Attributs
Date Naissance : date
Taille : réel
• Encapsulation: C’est un mécanisme de protection correspondant au fait que des champs et des méthodes
privées ne soient accessibles par l’utilisateur d’une classe que par certaines méthodes publiques
(exemple des données privées)
• Héritage: Il permet de redéfinir une nouvelle classe à partir d’une classe existante.
3
I. Introduction aux concepts de l’Approche Orientée Objets (4)…
Exemple d’héritage
Personne Classe existante = classe mère
NCIN : entier
Nom : chaine de caractères
Date Naissance : date
Taille : réel
Employé Etudiant
DateEmbauche :date Matricule :entier
Service: chaine de caractères classe: chaine de caractères
Salaire:entier NomFac:chaine de caractères
Tél:entier MoyenneG: réel
QuelleDteEmbauche():date QuelleMoyenne :réel
QuelSalaire() :entier Quelleclasse: ch.de caractères
ModifMoy(réel)
Les classes Employé et Etudiant = Sous-classes de la classe Personne 7
4
I. Introduction aux concepts de l’Approche Orientée Objets (5)…
Les concepts de l’OO :
• Polymorphisme:
Personne
Employé
NCIN : entier DateEmbauche :date
Nom : chaine de caractères Service: chaine de caractères
Date Naissance : date Salaire:entier Sous-classe
Taille : réel Tél:entier de la classe Personne
MonEmployé
DateEmbauche :15/10/2012
Service: Comptabilité MonEmployé.QuelNom()
Salaire:180000
Tél:22 33 44 55
Objet de la sous-classe 9
MonEmployé
Personne
Employé
NCIN : entier DateEmbauche :date
Nom : chaine de caractères Service: chaine de caractères
Date Naissance : date Salaire:entier Sous-classe
Taille : réel Tél:entier de la classe Personne
MonEmployé
DateEmbauche :15/10/2012
Service: Comptabilité MonEmployé.QuelNom()
Salaire:180000
Tél:22 33 44 55
Objet de la sous-classe 10
MonEmployé
5
Partie II
Types de données en java
Types primitifs
Types objets
6
II. Types de données en java
Types primitifs
Déclaration
int x,y;
char c;
boolean rep;
Initialisation
int x,y;
int x=5,y=12; x=5;
char c=’Y’; y=12;
boolean rep=true; char c;
c=’Y’
boolean rep;
rep=true;
13
Conversion de types
14
7
II. Types de données en java
int i=16;
byte b=(byte)i;// de 32 bits vers 8 bits
i=(int)15.575; // de flottant vers entier; i ne contient que des entiers
char c=’a’;
i=’c’; // de 16 bits vers 32 bits
15
Les opérateurs
16
8
II. Types de données en java
Les opérateurs
17
Partie III
Structures de contrôle conditionnelle
et itératives
9
III. Structures de contrôle
Conditionnelles
19
10
III. Structures de contrôle
Itératives
21
Itératives
22
11
III. Structures de contrôle
Itératives
23
Itératives
continue
for(int i=1;i<12;i++)
2
{ 4
if(i%2==0) 6
System.out.println(’’Valeur de i non paire = ’’+i); 8
else 10
continue;
}
break
for(int i=1;i<12;i++)
1
{ 2
if(i==8) 3
break; 4
else 5
System.out.println(’’Valeur de i = ’’+i); 6
} 7
24
12
Partie IV
Classe Java et création d’Objets
Classe java
Une classe java (type complexe) est constituée:
• d’attributs
• d’un ou de plusieurs constructeurs
• de méthodes
26
13
IV. Classe Java et création d’objets
Constructeur d’une classe
27
28
14
IV. Classe Java et création d’objets
Constructeur d’une classe
Les 2 méthodes
29
class NomClasse {
//déclaration d’attributs
Type NomAttributs;
//Constructeurs de la classe
public NomClasse(arguments){
//instructions d’initialisation
}
//Méthodes de la classe
TypeRetour NomMethode1(arguments){
//instructions
}
….
TypeRetour NomMethode2(arguments){
//instructions
}
}
30
15
IV. Classe Java et création d’objets
Structure générale d’un programme java
Méthodes
La méthode main( ) permet
d’exécuter le programme après
compilation
La création d’un objet à partir d’une classe est appelée une instanciation (objet=instance de la classe)
Nécessite l’appel du constructeur
Créer un objet:
Rectangle
MonRectangle
Longueur : entier
Largeur: entier Longueur : 25 Rectangle MonRectangle =
Largeur: 15 new Rectangle(25,15);
Perimetre ( ) : entier
Surface( ) : entier
L’objet de Rectangle
32
16
IV. Classe Java et création d’objets
Exercices
33
Partie V
Les modificateurs d’accès
17
V. Les modificateurs d’accès
Accessibilité des membres d’une classe à une autre classe
On a 4 spécificateurs d’accès :
• public : les membres publics sont tous visibles
• protected : ils ne sont visibles que par les classes filles ou de même package
• private : ils ne sont pas visibles
• ’’friendly’’ (sans spécificateur d’accès), les membres ne sont visibles que par les
classes du même package.
Partie VI
Les Méthodes
18
VI. Les méthodes
Déclaration de méthodes
Les méthodes décrivent les traitements réalisés par la classe
Elles forment l’interface permettant de manipuler les objets
Elles sont protégées par des droits d’utilisation public, private, protected, final, abstract
Elles retournent le résultat du traitement (return objet ou type primitif) ou rien (void)
Prennent une liste de variables comme arguments (Type var1, Type var2, …, Type varn)
Exemple de surcharge
int somme(int a, int b) { return a + b; }
float somme(float a, float b) { return a + b; }
int somme(int a, int b, int c) { return a + b + c; }
19
Partie VII
Création et utilisation des packages
39
20