Vous êtes sur la page 1sur 28

2ÈME ANNÉE CPI

PROGRAMMATION ORIENTÉE OBJET


ZAKARIA GHEID
Z.GHEID@ESI-SBA.DZ

FÉVRIER 2020
CHAPITRE 1
INTRODUCTION À LA POO

PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CHAPITRE 2
OBJETS, CLASSES ET INTERFACES
(PARTIE I)

PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CHAPITRE 2
OBJETS, CLASSES ET INTERFACES
(PARTIE II)

PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE

1- CONCEPTS 2- TYPE DE 3- ATTRIBUTS ET


4- RÉCAPITULATION
AVANCÉS DONNÉES MÉTHODES

5 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

DÉFINITION A- MODIFICATEURS D’ACCÈS

DÉFINITION UTILISATION
<modificateur> class <nom_classe>
Mots clés qui définissent le {
niveau (mode) de visibilité ...
des classes, méthodes et <modificateur> <type> <nom_attribut>;
attributs. ...
<modificateur> <type_retour> <nom_méthode>(...)
{
...
}
}

6 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

TYPES A- MODIFICATEURS D’ACCÈS

Modificateur Visibilité/Accessibilité

« public » Partout

« protected » Classes dérivées ou


Classes du même package
« private » Classe de définition

Default (sans modificateur) Classes du même package

7 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

AUTRES B- AUTRES MODIFICATEURS

DÉFINITION UTILISATION
<modificateur> class <nom_classe>
Mots clés qui définissent {
certains paramètres pour les ...
<modificateur> <type> <nom_attribut>;
classes, attributs, méthodes ...
et variables locales. <modificateur> <type_retour> <nom_méthode>(...)
{
<modificateur> <type_var> <nom_var>;
...
}
}

8 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

STATIC B-1- MODIFICATEUR « static »

Devant l’item Sense

méthode Déclarer une méthode de


classe
attribut Déclarer un attribut de classe

9 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

FINAL B-2- MODIFICATEUR « final »

Devant l’item Sense

classe Cette classe ne peut être


« héritée »
méthode Cette méthode ne peut être
« redéfinie »
attribut Sa valeur/référence demeure
constante
variable Sa valeur/référence demeure
constante
10 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020
CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

ABSTRACT B-3- MODIFICATEUR « abstract »

Devant l’item Sense

classe Déclarer une classe abstraite

méthode Déclarer une méthode


abstraite

11 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

INSTANCE C- INSTANCIATION DE CLASSE

QUOI? COMMENT?
2ème étape de création d’objets L’instanciation de classe se fait
(après la réservation de noms). en Java à l’aide de l’opérateur
Elle sert à réserver un espace new suivi d’un appel au
mémoire pour l’objet et constructeur de la classe.
renvoyer une référence à cet
espace.

12 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

CONSTRUCTEUR D- CONSTRUCTEUR DE CLASSE

QUOI? POURQUOI? TYPES


Une méthode spéciale Le constructeur sert à Il y a deux types de
déclarée au sein de la initialiser les objets de constructeurs:
classe et portant le la classe (initialiser les 1- Par default
même nom de la attributs) lors de leurs 2- personnalisé
classe instanciations

13 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

CONSTRUCTEUR D-1- CONSTRUCTEUR PAR DEFAULT

DÉFINITION CODE
Java inclut automatiquement class <nom_classe>
dans chaque classe un {
...
constructeur sans paramètres //constructeur par defaut
et qui initialise les attributs <nom_classe>(){}
avec leurs valeurs par défaut }

14 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
1- AUTRES CONCEPTS DE DÉCLARATION

CONSTRUCTEUR D-2- CONSTRUCTEUR PERSONNALISÉ

DÉFINITION CODE
class <nom_classe>
Le programmeur peut définir {
un ou plusieurs constructeurs ...
personnalisés dans lesquels il //constructeur personnalisé
met des traitements <nom_classe>(<parametres>)
{
d’initialisations à travers des <instrcution>;
valeurs passées en paramètre ...
ou récupérées du code }
}

15 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE

1- CONCEPTS 2- TYPE DE 3- ATTRIBUTS ET


4- RÉCAPITULATION
AVANCÉS DONNÉES MÉTHODES

16 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
2- TYPES DE DONNÉES

DEUX TYPES EN JAVA, IL Y A DEUX FAMILLES DE TYPES DE DONNÉES

PRIMITIFS OBJETS
Types de données basiques Toute donnée de type non-
en java. Ils ne sont pas des primitif est considérée comme
objets. Le compilateur objet en java. Le compilateur ne
réserve un espace mémoire réserve pas d’espace mémoire
fixe pour chaque donnée de
type primitif dès la pour un objet qu’après son
déclaration (réservation de instanciation à l’aide de « new »
nom sans instanciation)

17 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
2- TYPES DE DONNÉES

JAVA COMPTE 8 TYPES PRIMITIFS. TOUT AUTRE TYPE EST UN TYPE


LES PRIMITIFS
OBJET

Type interval Valeur par défaut


byte Entier signé sur 8bits 0
short Entier signé sur 16bits 0
int Entier signé sur 32bits 0
long Entier signé sur 64bits 0
float Décimal sur 32bits 0.0
double Décimal sur 64bits 0.0
char Caractère '\u0000’ caractère null
boolean Booléen false

18 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
2- TYPES DE DONNÉES

ALLOCATION SUITE À LA DÉCLARATION D’UNE DONNÉE, LE COMPILATEUR RÉSERVE


MÉMOIRE UN ESPACE MÉMOIRE POUR METTRE SA VALEUR OU SA RÉFÉRENCE

PRIMITIFS OBJETS
/*Déclaration: le compilateur /*1- Déclaration de nom: le
crée un espace mémoire de compilateur crée un nom et lui
32bits, y met une valeur par attribue une référence null*/
default et sauvegarde sa String[] tab1;
référence dans "nombre"*/
int nombre; /*2-instanciation: le
compilateur réserve 10 cases
mémoires et met la référence
de la première dans tab1*/
tab1= new String[10];

19 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE

1- CONCEPTS 2- TYPE DE 3- ATTRIBUTS ET


4- RÉCAPITULATION
AVANCÉS DONNÉES MÉTHODES

20 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
3- ATTRIBUTS ET MÉTHODES

LES ATTRIBUTS ET MÉTHODES DÉCLARÉS DANS UNE CLASSE PEUVENT


DÉFINITION
AVOIR DEUX UTILISATIONS DIFFÉRENTES

D’OBJET DE CLASS
- Les attributs d’objets définissent - Les attributs de classe définissent
l’état de chaque objet (instance) de une donnée commune pour tous
la classe les objets de la classe

- Les méthodes d’objets définissent - Les méthode de classe définissent


le comportement de chaque objet un comportement unique
leurs faisant appel indépendant de tout objet

21 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
3- ATTRIBUTS ET MÉTHODES

LES ATTRIBUTS ET MÉTHODES DÉCLARÉS DANS UNE CLASSE PEUVENT


CODE
AVOIR DEUX UTILISATIONS DIFFÉRENTES

D’OBJET DE CLASSE
//attribut d’objet //attribut de classe
<type> <nom_attribut>; static <type> <nom_attribut>;

//méthode de classe //méthode de classe


<type_retour> static <type_retour>
<nom_méthode>(<parametres>) <nom_méthode>(<parametres>)
{ {
<instrcution>; <instrcution>;
... ...
} }

22 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
3- ATTRIBUTS ET MÉTHODES

L’ACCÈS AUX ATTRIBUTS ET MÉTHODES SE FAIT À L’AIDE DU CARACTÈRE


ACCÈS
POINT « . »

D’OBJET DE CLASSE
//attribut d’objet //attribut d’objet
//(de l’extérieur de la classe) <nom_classe>.<nom_attribut>
<nom_objet>.<nom_attribut>
//méthode d'objet
//(de l’intérieur de la classe) <nom_classe>.<nom_méthode>(<para
this.<nom_attribut> metres>)

//méthode d'objet /*RQ: Les attributs et méthodes


<nom_objet>.<nom_méthode>(<para de classe sont aussi accessibles
metres>) via les objets de la même
classe*/

23 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE

1- CONCEPTS 2- TYPE DE 3- ATTRIBUTS ET


4- RÉCAPITULATION
AVANCÉS DONNÉES MÉTHODES

24 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
4- RÉCAPITULATION

PROGRAMME POUR ÉCRIRE UN PROGRAMME EN JAVA, VOUS DEVEZ GÉNÉRALEMENT


JAVA SUIVRE LE PROCÉDÉ SUIVANT

1- OUTILS DE DÉVELOPPEMENT
- Télécharger et installer le JDK correspondant à
votre plateforme
- Télécharger un environnement de développement
intégré

- EXEMPLE D’OUTILS
- JDK 8 pour Windows x64 (64 bits)
- Eclipse IDE

25 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
4- RÉCAPITULATION

PROGRAMME POUR ÉCRIRE UN PROGRAMME EN JAVA, VOUS DEVEZ GÉNÉRALEMENT


JAVA SUIVRE LE PROCÉDÉ SUIVANT

2- CONCEPTION DES CLASSES


Détecter les familles (classes) d’objets qui constitue
le contexte de notre programme, leurs attributs et
leurs méthodes.

- EXEMPLE: GESTION DE SCOLARITÉ


- Classes: Etudiant, Enseignant, Module,…etc.
- Attributs pour Etudiant: num_insc, nom, prenom,
date_de_naiss
- Méthodes pour Etudiant: inscrire(), examen(),…

26 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020


CH2 – OBJET, CLASSE ET INTERFACE
4- RÉCAPITULATION

PROGRAMME POUR ÉCRIRE UN PROGRAMME EN JAVA, VOUS DEVEZ GÉNÉRALEMENT


JAVA SUIVRE LE PROCÉDÉ SUIVANT

3- IMPLÉMENTATION DU CODE
- Créer un nouveau projet (Eclipse par ex.)
- Créer plusieurs packages pour mieux organiser
votre code
- Dans chaque package écrire le code java nécessaire
des classes lui font parties
- Créer une classe principale dans laquelle il faut
déclarer une méthode « public static void
main(String[] args) »
- Dans la méthode « main » écrire votre programme
27 PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020
TEMPLATE COPYRIGHT

© Copyright Showeet.com

PROGRAMMATION ORIENTÉE OBJET– 2ÈME ANNÉE CPI - 2020

Vous aimerez peut-être aussi