Pour résumer, en algorithmique vous écririez quelque chose ressemblant plus ou moins à ça :
Type
Structure tEcran
type :chaîne
marque :chaîne
modèle :chaîne
diagonale :entier
hauteur :reel
largeur :reel
profondeur :reel
poids :reel
connecteur :chaîne
resolution : tableau[1..10] de chaînes
FinStruct
Procédure changer_resolution(...)
Procédure mise_en_veille(...)
Procédure rallumer(...)
Procédure regler_affichage(...)
...
C’est correct, possible, vous devrez probablement jouer avec les pointeurs et références pour le passage de la
structure, donc pourquoi pas. Des milliers de programmes ont été développés ainsi. Posezvous cependant la
question : pourquoi ne pas associer les propriétés d’un objet et les traitements associés en un même ensemble ?
Quand vous programmez en objet, la question à se poser est "Sur quoi porte le programme ?". La réponse est : sur
les écrans. Puisque le programme porte sur les écrans, pourquoi ne pas tenter de répondre à la question posée à la
fin du point précédent ? La réponse est "pourquoi pas", et c’est le but ou l’un des buts de la programmation objet.
Vous avez déjà indirectement croisé plusieurs fois le chemin des objets. Les chapitres précédents vous ont montré
des tableaux, des structures, des chaînes de caractères, des références. En Java tous ces éléments sont des objets.
En fait, tout ce que vous avez déclaré avec le motclé "new" est un objet.
Dans les exemples, vous avez probablement remarqué que la saisie de chaînes au clavier, la lecture et
l’enregistrement de fichiers et même les instructions nécessaires à l’affichage passent par des objets. Si ce n’est pas
le cas, le principe des structures devraient vous aider à mieux comprendre.
En langage procédural ou en algorithmique, une structure est déjà appelée un objet, dans un certain nombre
d’ouvrages d’algorithmique un peu anciens (années 1980), dans le sens où elle contient un ensemble de données
cohérentes sur un sujet bien précis. La structure tarticle contenait toutes les propriétés d’un article. Vous accédez à
une information à travers le point "." ou la flèche "→" si l’enregistrement est une référence.
La structure code donc toutes les propriétés d’un objet réel ou abstrait. Cependant tous les traitements associés
sont dans des sousprogrammes à part.
Maintenant, regardez ces lignes issues de l’exemple en Java sur les fichiers :
String ligne;
...
passwd[cpt]←ligne.split(":")
...
La variable ligne est une chaîne de caractères. Pourtant, vous avez l’impression qu’elle est utilisée comme un
enregistrement de structures, mais à l’aide du point "." vous accédez non pas à des enregistrements, mais à des
fonctions associées à la variable ! Pourquoi ? La réponse se trouve dans une définition de l’objet :
Dans les langages objet, les données et les traitements qui manipulent ces données sont regroupés au sein d’une
même entité appelée objet.
En Java les objets sont décrits avec le motclé "class". En algorithmique ils le sont avec le motclé "classe".
Quelles sont les propriétés d’une chaîne de caractères ?
q La chaîne ellemême, composée d’une suite de caractères.
Quels sont les traitements applicables à une chaîne ?
q Le calcul de sa longueur,
Programmation objet
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
196
Type
Structure tEcran
type :chaîne
marque :chaîne
modèle :chaîne
diagonale :entier
hauteur :reel
largeur :reel
profondeur :reel
poids :reel
connecteur :chaîne
resolution : tableau[1..10] de chaînes
FinStruct
Procédure changer_resolution(...)
Procédure mise_en_veille(...)
Procédure rallumer(...)
Procédure regler_affichage(...)
...
C’est correct, possible, vous devrez probablement jouer avec les pointeurs et références pour le passage de la
structure, donc pourquoi pas. Des milliers de programmes ont été développés ainsi. Posezvous cependant la
question : pourquoi ne pas associer les propriétés d’un objet et les traitements associés en un même ensemble ?
Quand vous programmez en objet, la question à se poser est "Sur quoi porte le programme ?". La réponse est : sur
les écrans. Puisque le programme porte sur les écrans, pourquoi ne pas tenter de répondre à la question posée à la
fin du point précédent ? La réponse est "pourquoi pas", et c’est le but ou l’un des buts de la programmation objet.
Vous avez déjà indirectement croisé plusieurs fois le chemin des objets. Les chapitres précédents vous ont montré
des tableaux, des structures, des chaînes de caractères, des références. En Java tous ces éléments sont des objets.
En fait, tout ce que vous avez déclaré avec le motclé "new" est un objet.
Dans les exemples, vous avez probablement remarqué que la saisie de chaînes au clavier, la lecture et
l’enregistrement de fichiers et même les instructions nécessaires à l’affichage passent par des objets. Si ce n’est pas
le cas, le principe des structures devraient vous aider à mieux comprendre.
En langage procédural ou en algorithmique, une structure est déjà appelée un objet, dans un certain nombre
d’ouvrages d’algorithmique un peu anciens (années 1980), dans le sens où elle contient un ensemble de données
cohérentes sur un sujet bien précis. La structure tarticle contenait toutes les propriétés d’un article. Vous accédez à
une information à travers le point "." ou la flèche "→" si l’enregistrement est une référence.
La structure code donc toutes les propriétés d’un objet réel ou abstrait. Cependant tous les traitements associés
sont dans des sousprogrammes à part.
Maintenant, regardez ces lignes issues de l’exemple en Java sur les fichiers :
String ligne;
...
passwd[cpt]←ligne.split(":")
...
La variable ligne est une chaîne de caractères. Pourtant, vous avez l’impression qu’elle est utilisée comme un
enregistrement de structures, mais à l’aide du point "." vous accédez non pas à des enregistrements, mais à des
fonctions associées à la variable ! Pourquoi ? La réponse se trouve dans une définition de l’objet :
Dans les langages objet, les données et les traitements qui manipulent ces données sont regroupés au sein d’une
même entité appelée objet.
En Java les objets sont décrits avec le motclé "class". En algorithmique ils le sont avec le motclé "classe".
Quelles sont les propriétés d’une chaîne de caractères ?
q La chaîne ellemême, composée d’une suite de caractères.
Quels sont les traitements applicables à une chaîne ?
q Le calcul de sa longueur,
Programmation objet
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
196
