Вы находитесь на странице: 1из 43

Programmation oriente objet

Paradigmes Notions

Constats
Il y a beaucoup de manires

crire un programme qui effectue une tche spcifie. La manire de programmation dpende du langage utilis. Le langage utilis dpende de la manire de programmation.

Paradigmes de programmation
programmation procdurale : P.P.

(Pascal, C, etc.) programmation oriente objet : P.O.O. (C++, Java, Delphi) etc.

Programmation procdurale (rappel de C)


le programme est compos des fonctions
les donnes (variables) sont cres

lintrieure des fonction ou bien passes comme paramtres il y a un programme principal (main)

Un programme en C

Limitations
Il ny a pas de mthode ou de cadre pour

bien organiser les fonctions. Les modifications dune fonction entranent dautres modifications dans autre fonctions, etc. la porte dune modification est trop grand et difficile grer. Redondance dans le code (la mme chose est cod plusieurs fois) Propagation des erreurs dboggage difficile

Est-ce quil faut oublier le C?

NON!
Vous allez avoir le choix parmi plusieurs mthodes de programmation!

Paradigme orient objet Comment peut on y arriver?


Introduction des nouvelles (?) notions objet (objektum) classe (osztly) instanciation (pldnyosods) hirarchie des classes (osztlyhierarchia) hritage (rklds) vnement (esemny)

On va utiliser ces notions pour introduire le

paradigme de programmation oriente objet.

Objet (exemple / fentre)


proprits dune fentre ouverte/ferme casse/intacte taille sens douverture type de verre coefficient de rflexion de chaleur
Pour une fentre concrte, ces proprits

ont des valeurs.

Objet (exemple / fentre)


oprations avec une fentre donne ouvrir fermer casser rparer changer la verre

Objet (exemple / livre)


proprits dun livre dans une bibliothque tat (emprunt / disponible / perdu) date de la fin de lemprunt titre auteur nombre de pages Pour un livre donn, ces proprits ont

des valeurs!

Objet (exemple / livre)


oprations sur un livre dune bibliothque emprunter rendre perdre voler

Objet (dfinition)

Un objet est un ensemble des proprits ayant des valeurs et des actions (oprations ou mthodes) agissant sur les valeurs de ces proprits.
proprits et les mthodes quon doit prendre en compte dans le programme.

Remarque: cest la tche qui nous dira quelles sont les

Objet (exercice)

Proprits intressantes? Actions intressantes?

(pour une comptition, pour une entreprise qui loue des voitures, etc)

Classes
La classification des choses se fait par

abstraction. Il faut trouver les caractristiques communes des lments de la classe. En effet, ces sont ses caractristiques qui dfinissent une classe.

Classe des objets


Les objets ayant des mmes proprits et

les mmes mthodes peuvent tre mis dans une classe.

Une classe sera dfinie par les proprits

et les mthodes sur ses lments.

Classe des livres


proprits tat (emprunt / disponible / perdu) date de la fin de lemprunt titre auteur nombre de pages mthodes emprunter rendre perdre voler

Classe des fentres


proprits tat douverture (ouverte/ferme) tat (casse/intacte) taille sens douverture type de verre coef de rflexion de chaleur mthodes ouvrir fermer casser rparer changer la verre

Classe
Une classe est un ensemble des proprits et

des mthodes.
Dans le programme

proprits
mthodes ENCAPSULATION

variables
procdures (code)

Une classe dans un programme


une classe est une collection de donnes et

des mthodes sur ces donnes. Une classe est une encapsulation des donnes et du code. La notion de lencapsulation est la cration des classes
donne une organisation naturelle des fonctions (mthodes) permet deffectuer la modification locale du code

Exemple dans un langage de programmation (JAVA)


public class Cercle; { double Rayon; public double calculerAire() { return Rayon * Rayon * 3.1415; } }

Instanciation (pldnyosods)
Un objet est une instanciation dune classe Les proprits (i.e. des variables) de la

classe ont des valeurs. Les mthodes de la classe fonctionnent sur l objet.

Une instance de la classe livre


proprits
tat = emprunt date de la fin de lemprunt = 2003/03/20 titre = Concepts of objectoriented programming auteur = David N. Smith nombre de pages = 189

mthodes
emprunter rendre perdre voler

Comment crer un objet?


Dans chaque classe, il y a une mthode

spciale: La mthode constructeur


Cette mthode permet de crer un nouveau

objet de la classe en dfinissant les valeurs des proprits et en donnant accs aux mthodes sur cette objet.

Une instance de la classe livre


proprits
tat = emprunt date de la fin de lemprunt = 2003/03/20 titre = Concepts of objectoriented programming auteur = David N. Smith nombre de pages = 189

mthodes
emprunter rendre perdre voler livre
mthode constructeur

Exemple dans un langage de programmation (JAVA)


public class Cercle; { double Rayon; public double calculerAire() { return Rayon * Rayon * 3.1415; } Cercle(double r) // constructeur { Rayon = r; } }

Objet comme valeur dune proprit

Un objet peut tre la valeur dune proprit

Exemple
On dfinit la classe des roues
Ensuite, on dfinie la classe des voitures Pour une voiture donne, on a quatre roues

qui sont de la classe des roues.

Exemple dans un langage de programmation


public class Dessin { Cercle Composant1; double surfaceDessin; }

Exemple (objet comme valeur dune proprit)


Classe auteur proprits
nom (String) prnom (String) tat (mort/vivant) prix (liste)

mthodes
obtenir prix auteur

Exemple (objet comme valeur dune proprit)


Classe livre
proprits mthodes tat (emprunt / disponible emprunter / perdu) rendre date de la fin de lemprunt perdre titre voler auteur livre nombre de pages La valeur est une instanciation
de la classe auteur

Hirarchie des classes


Example :
vhicle

classification des espces (Darwin) La hirarchie va des classes gnrales vers les classes spcifiques

voiture

camion

moto

4x4

utilitaire

Hirarchie des classes


voiture classe mre

utilitaire

classe drive

Hritage (rklds)
la classe drive possde TOUTES LES PROPRIETES DE SA CLASSE MERE TOUTES LES METHODES DE LA CLASSE MERE

Hritage des proprits (exemple)


voiture fabriquant chauffeur

Utilitaire fabriquant, chauffeur cargaison quantit

Proprits hrites

Hritage des mthodes (exemple)


voiture dmarrer arrter

Utilitaire dmarrer, arrter charger dcharger

Mthodes hrites

Exemple dans un langage de programmation


public class CercleUnitaire extends Cercle { CercleUnitaire() { Rayon=1; } }

Hirarchie des classes


Exercice : donnez une classification

hirarchique de quelques lments de dessins (ligne, triangle, carr, losange cercle, etc.) Exercice : donnez une classification hirarchique dune base de donnes des livres dans une bibliothque Exercice : donnez une classification hirarchique de ce que vous voulez.

Un programme orient objet


modlisation du domaine laide des

classes dfinition des classes cration des instances (peut tre dynamique) messages entre les objets (appel des mthodes)

Interface vers lutilisateur


Linterface vers lutilisateur est une

collection des objets (boutons, champs de texte, menu droulant, etc.) Lutilisateur dispose des actions sur les lments de linterface (slectionner, cliquer, double cliquer, etc.) Une action correspond un vnement qui dclenche lexcution dune mthode.

Un programme orient objet


Objet donnes code

message
Objet donnes

me ssa ge

code

Objet donnes

ss me

m es sa ge

age

code

Objet donnes code

message

Objet donnes code

Les langage de programmations orients objets


On a prsent les concepts de base de POO. Certains langages de programmation

permettent de mettre en uvre ces concepts quand on crit un programme. Les syntaxes de ces langages peuvent tre diffrentes. Le POO est un paradigme et nest pas un langage.

Вам также может понравиться

  • Architecture Des Ordinateurs
    Architecture Des Ordinateurs
    Документ41 страница
    Architecture Des Ordinateurs
    Walid_Sassi_Tun
    Оценок пока нет
  • Chap 7
    Chap 7
    Документ14 страниц
    Chap 7
    Walid_Sassi_Tun
    Оценок пока нет
  • Introduction Aux Cartes Graphiques
    Introduction Aux Cartes Graphiques
    Документ16 страниц
    Introduction Aux Cartes Graphiques
    Walid_Sassi_Tun
    Оценок пока нет
  • Assembleur Chap3
    Assembleur Chap3
    Документ20 страниц
    Assembleur Chap3
    Walid_Sassi_Tun
    Оценок пока нет
  • Chapitre 6
    Chapitre 6
    Документ29 страниц
    Chapitre 6
    Bouba Aboubakar
    Оценок пока нет
  • Architecture Des Ordinateurs
    Architecture Des Ordinateurs
    Документ41 страница
    Architecture Des Ordinateurs
    Walid_Sassi_Tun
    Оценок пока нет
  • Chap 5
    Chap 5
    Документ13 страниц
    Chap 5
    Walid_Sassi_Tun
    Оценок пока нет
  • 1presentation Firewalls
    1presentation Firewalls
    Документ48 страниц
    1presentation Firewalls
    Walid_Sassi_Tun
    100% (1)
  • PWeb 2ieme
    PWeb 2ieme
    Документ6 страниц
    PWeb 2ieme
    Walid_Sassi_Tun
    Оценок пока нет
  • Comparaison Fonctions Excel Calc
    Comparaison Fonctions Excel Calc
    Документ3 страницы
    Comparaison Fonctions Excel Calc
    Walid_Sassi_Tun
    Оценок пока нет
  • Lesrobots 001
    Lesrobots 001
    Документ32 страницы
    Lesrobots 001
    Walid_Sassi_Tun
    Оценок пока нет
  • CH4 - Réseaux Informatiques
    CH4 - Réseaux Informatiques
    Документ19 страниц
    CH4 - Réseaux Informatiques
    Walid_Sassi_Tun
    Оценок пока нет
  • Cest Quoi Rfid
    Cest Quoi Rfid
    Документ44 страницы
    Cest Quoi Rfid
    Walid_Sassi_Tun
    Оценок пока нет
  • SQL 06052015
    SQL 06052015
    Документ7 страниц
    SQL 06052015
    Walid_Sassi_Tun
    Оценок пока нет
  • Wordpress3 - Guied Utilisateur
    Wordpress3 - Guied Utilisateur
    Документ17 страниц
    Wordpress3 - Guied Utilisateur
    Walid_Sassi_Tun
    Оценок пока нет
  • Bac Blanc Éco - Gest-2015
    Bac Blanc Éco - Gest-2015
    Документ5 страниц
    Bac Blanc Éco - Gest-2015
    Walid_Sassi_Tun
    Оценок пока нет
  • Sih Hopital
    Sih Hopital
    Документ29 страниц
    Sih Hopital
    Walid_Sassi_Tun
    Оценок пока нет
  • BD
    BD
    Документ136 страниц
    BD
    Walid_Sassi_Tun
    Оценок пока нет
  • Ex RESeaux
    Ex RESeaux
    Документ3 страницы
    Ex RESeaux
    Walid_Sassi_Tun
    Оценок пока нет
  • Dico Karmous
    Dico Karmous
    Документ139 страниц
    Dico Karmous
    morpheus302
    100% (3)
  • Exercices Word
    Exercices Word
    Документ172 страницы
    Exercices Word
    Walid_Sassi_Tun
    100% (1)
  • INP2
    INP2
    Документ23 страницы
    INP2
    youness.khalfaoui
    Оценок пока нет
  • Photofiltre (FR) Tuto-Photofiltre
    Photofiltre (FR) Tuto-Photofiltre
    Документ5 страниц
    Photofiltre (FR) Tuto-Photofiltre
    Walid_Sassi_Tun
    Оценок пока нет
  • IntroII (E08)
    IntroII (E08)
    Документ39 страниц
    IntroII (E08)
    Walid_Sassi_Tun
    Оценок пока нет
  • L2 Calc tp1
    L2 Calc tp1
    Документ3 страницы
    L2 Calc tp1
    Walid_Sassi_Tun
    Оценок пока нет
  • 1 - Architecture Client Serveur
    1 - Architecture Client Serveur
    Документ1 страница
    1 - Architecture Client Serveur
    Walid_Sassi_Tun
    Оценок пока нет
  • PL-1 New
    PL-1 New
    Документ19 страниц
    PL-1 New
    Walid_Sassi_Tun
    Оценок пока нет
  • CALENDAR 13 15 ENG Num Semaines
    CALENDAR 13 15 ENG Num Semaines
    Документ2 страницы
    CALENDAR 13 15 ENG Num Semaines
    Walid_Sassi_Tun
    Оценок пока нет
  • Mem - 00000163 Scribd
    Mem - 00000163 Scribd
    Документ79 страниц
    Mem - 00000163 Scribd
    Walid_Sassi_Tun
    Оценок пока нет
  • Gestion Atelier
    Gestion Atelier
    Документ2 страницы
    Gestion Atelier
    THễ LOrd Vulcaniste Anass
    Оценок пока нет
  • La Minuterie
    La Minuterie
    Документ19 страниц
    La Minuterie
    Youcef Sami
    Оценок пока нет
  • Ôter La Protection Sur Excel
    Ôter La Protection Sur Excel
    Документ1 страница
    Ôter La Protection Sur Excel
    SiMoLaST
    Оценок пока нет
  • Base de Données
    Base de Données
    Документ47 страниц
    Base de Données
    mustapha elmahsouni
    Оценок пока нет
  • TP Soukkou
    TP Soukkou
    Документ21 страница
    TP Soukkou
    lotfibouchefirat
    Оценок пока нет
  • Ch5 - Stratégies D'administration
    Ch5 - Stratégies D'administration
    Документ36 страниц
    Ch5 - Stratégies D'administration
    strideworld
    Оценок пока нет
  • Codes D Etecteurs Et Correcteurs D'erreurs
    Codes D Etecteurs Et Correcteurs D'erreurs
    Документ24 страницы
    Codes D Etecteurs Et Correcteurs D'erreurs
    Mohamed BGcity
    Оценок пока нет
  • Apprendre A Dessiner en 3d Avec Autocad
    Apprendre A Dessiner en 3d Avec Autocad
    Документ142 страницы
    Apprendre A Dessiner en 3d Avec Autocad
    Christian Kapuku
    Оценок пока нет
  • Utilisation d'AdoX Avec Delphi (DB - MS Access)
    Utilisation d'AdoX Avec Delphi (DB - MS Access)
    Документ22 страницы
    Utilisation d'AdoX Avec Delphi (DB - MS Access)
    Qaqqah Izzane
    Оценок пока нет
  • Epson EB S11 Brochures 1 2
    Epson EB S11 Brochures 1 2
    Документ2 страницы
    Epson EB S11 Brochures 1 2
    محمد كريشة
    Оценок пока нет
  • CV FR PDF
    CV FR PDF
    Документ1 страница
    CV FR PDF
    Anonymous vIEKJ3oQ
    Оценок пока нет
  • Cours Sur Le Bios Uefi
    Cours Sur Le Bios Uefi
    Документ12 страниц
    Cours Sur Le Bios Uefi
    Mohamed
    0% (1)
  • Exercices Probabilités 2016 PDF
    Exercices Probabilités 2016 PDF
    Документ382 страницы
    Exercices Probabilités 2016 PDF
    omar benani
    Оценок пока нет
  • Disserter en Géographie
    Disserter en Géographie
    Документ1 страница
    Disserter en Géographie
    31071978
    75% (4)
  • Programmation SFC
    Programmation SFC
    Документ32 страницы
    Programmation SFC
    yassine123
    Оценок пока нет
  • Mécanisme de Contrôle Interne SONASID
    Mécanisme de Contrôle Interne SONASID
    Документ2 страницы
    Mécanisme de Contrôle Interne SONASID
    Niyi Ademosu
    Оценок пока нет
  • Multi Vibrate Ur
    Multi Vibrate Ur
    Документ8 страниц
    Multi Vibrate Ur
    YounesHamoudi
    Оценок пока нет
  • Rtee
    Rtee
    Документ2 страницы
    Rtee
    illi
    Оценок пока нет
  • Enonce 18
    Enonce 18
    Документ3 страницы
    Enonce 18
    yves1ndri
    Оценок пока нет
  • Guide Utilisateur DIGIPOSTE
    Guide Utilisateur DIGIPOSTE
    Документ2 страницы
    Guide Utilisateur DIGIPOSTE
    Marius Bartoș
    Оценок пока нет
  • Cours Insa Lyon CN
    Cours Insa Lyon CN
    Документ158 страниц
    Cours Insa Lyon CN
    Salah-Eddine Nasmi
    Оценок пока нет
  • SE2007 Intro PDF
    SE2007 Intro PDF
    Документ20 страниц
    SE2007 Intro PDF
    houdinix*
    Оценок пока нет
  • Ia Prolog 1
    Ia Prolog 1
    Документ41 страница
    Ia Prolog 1
    Jairo Duarte Agréable
    Оценок пока нет
  • Formation Linux
    Formation Linux
    Документ74 страницы
    Formation Linux
    Anass Edebbab
    100% (1)
  • Table de Routage
    Table de Routage
    Документ4 страницы
    Table de Routage
    radouane
    Оценок пока нет
  • de Présentation Marketing Territorial en 10 Étapes
    de Présentation Marketing Territorial en 10 Étapes
    Документ23 страницы
    de Présentation Marketing Territorial en 10 Étapes
    Vincent Gollain
    82% (11)
  • Arrêté2023 Audit FR
    Arrêté2023 Audit FR
    Документ2 страницы
    Arrêté2023 Audit FR
    Raki Hammami
    Оценок пока нет
  • 01 Codes Correcteurs D'erreurs 4 Transparents Par Page
    01 Codes Correcteurs D'erreurs 4 Transparents Par Page
    Документ15 страниц
    01 Codes Correcteurs D'erreurs 4 Transparents Par Page
    meedstart
    Оценок пока нет
  • Fiche Majeur SIF 5
    Fiche Majeur SIF 5
    Документ2 страницы
    Fiche Majeur SIF 5
    Mohamed Dieng
    Оценок пока нет
  • Bogost-IA-université-bilan-TA-CI-10 06 2023
    Bogost-IA-université-bilan-TA-CI-10 06 2023
    Документ5 страниц
    Bogost-IA-université-bilan-TA-CI-10 06 2023
    esmeraldoa
    Оценок пока нет