Académique Documents
Professionnel Documents
Culture Documents
1 Partie ère
L’Orientation Objet
Analyse Fonctionnelle
Fonctions Principales …
Inconvénients :
Modification de données modification en cascade de blocs fonctionnels
utilisant ces données
Evolutivité et maintenabilité parfois difficile
Données séparées des traitements
Faible niveau d’abstraction des données
Un objet c’est :
Des données (ou propriétés, attributs)
Des traitements manipulant ces données et définissant son comportement
(Opérations, méthodes)
Des échanges de messages avec les autres objets
Ampoule
intensité
Lampe
allumer ()
éteindre()
intensifier()
diminuer()
Tout objet est identifié par son référent ou handle qui permet de
déterminer l’adresse physique en mémoire de l’objet
11
Objets dans la mémoire de l’ordinateur
Support de cours Conception Orientée Objet – Enoch BIDIMA IST 2020
© Copyright Nat System 2016 11
Conception Orientée Objet
Plusieurs référents pour un même objet
Mécanisme
d’adressage
indirect
Adresse de
l’objet
Change :
Entier/couleur 3 Couleur = (couleur + 1)
Feu-de-signalisation If (couleur == 4) couleur =1
If (couleur == 1)
voitureDevant changeVitesse(50)
Voiture-vue-dans-la-rue Entier/vitesse 0
changeVitesse(int v)
Vitesse = v
Une classe est une description d'un ensemble d'objets ayant une
structure de données commune et disposant des mêmes
méthodes.
Exemple
Le « Soleil » est un symbole de chaleur, de lumière et de vie.
Le « Soleil » est un emblème d’unité ou encore de la royauté.
Surcharge
Toute modification de cette liste pourra donner naissance à une
nouvelle méthode : surcharge de la précédente.
Le fait de définir une classe interne, sans lui donner de nom par
dérivation d’un super classe, ou par implémentation d’une
interface.
Elle pourra donc accéder aux méthodes et aux attributs
de la classe l'englobant
/** lasse englobante */
public class ClasseEnglobante {
/* Méthode englobant l'appel à une classe anonyme */
public void methodeEnglobante(){
/** Déclaration et instanciation de la classe anonyme pour un bouton
* Le bouton est déclaré 'final' afin que la classe anonyme puisse y accéder */
final JButton bouton = new JButton("monBouton");
bouton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println(bouton.toString());
}
});
}
}
Ada
C++
C#
Delphi
NatStar
JAVA
Perl
PHP
Python
Ruby
VB
Etc.
Conception Procédurale
Code plus rigide Conception Objet
Pensée linéaire Code plus modulable
Moins lisible Pensée analogique
Découpage en de grandes Plus lisible
fonctions imbriquées Identification des acteurs et de
Grosse structure de donnée leurs comportements
Données réparties dans les
objets
Plus proche du langage naturel
la_proie.repère(prédateur)