55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de :...

18
5 5 Principes de la technologie orientée objets

Transcript of 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de :...

Page 1: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5555

Principes de la technologie orientée objets

Principes de la technologie orientée objets

Page 2: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-22

A la fin de ce cours, vous serez capables de :

• Décrire l'abstraction

• Décrire les concepts orientés objets :héritage, encapsulation, polymorphisme

• Identifier des objets et classes simples

A la fin de ce cours, vous serez capables de :

• Décrire l'abstraction

• Décrire les concepts orientés objets :héritage, encapsulation, polymorphisme

• Identifier des objets et classes simples

ObjectifsObjectifs

Page 3: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-33

Vue d'ensembleVue d'ensemble

• OO est un paradigme différent pour la programmation et la conception de logiciels.

• OO est basé sur la modélisation des objets du monde réel.

• OO crée des programmes réutilisables et adaptables.

• Les objets sont autonomes et incluent des informations et des comportements.

• OO est un paradigme différent pour la programmation et la conception de logiciels.

• OO est basé sur la modélisation des objets du monde réel.

• OO crée des programmes réutilisables et adaptables.

• Les objets sont autonomes et incluent des informations et des comportements.

Page 4: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-44

• Définition philosophique : entité identifiable

• Dans la terminologie de la technologie objets : abstraction d'un objet du monde réel

• Dans la terminologie commerciale : entité appropriée à un domaine commercial

• Dans la terminologie logicielle : structure de données et fonctions y afférentes

• Définition philosophique : entité identifiable

• Dans la terminologie de la technologie objets : abstraction d'un objet du monde réel

• Dans la terminologie commerciale : entité appropriée à un domaine commercial

• Dans la terminologie logicielle : structure de données et fonctions y afférentes

Qu'est-ce qu'un objet ?Qu'est-ce qu'un objet ?

Page 5: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-55

• Un objet existe afin de fournir un comportement (fonction) au système.

• Chaque comportement est appelé une opération.

• Un objet existe afin de fournir un comportement (fonction) au système.

• Chaque comportement est appelé une opération.

Objet : Objet : mon stylo bleumon stylo bleu

Opération :Opération :écrireécrire

Objet :Objet :guichet automatique de la banque Acmeguichet automatique de la banque Acme

Opération :Opération : retraitretrait

Les objets effectuent des opérationsLes objets effectuent des opérations

Page 6: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-66

Les objets se souviennent des valeursLes objets se souviennent des valeurs

ENCRE

Attribut :Attribut :quantité d'encrequantité d'encre

Attribut :Attribut :disponibilité d'argent liquidedisponibilité d'argent liquide

• Les objets ont conscience de leur état actuel.

• Chaque connaissance est appelée un attribut.

• Les objets ont conscience de leur état actuel.

• Chaque connaissance est appelée un attribut.

Objet : Objet : mon stylo bleumon stylo bleu

Objet :Objet :guichet automatique de la banque Acmeguichet automatique de la banque Acme

Page 7: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-77

Lors de la modélisation d'un objet, vous ne devezmodéliser que les opérations et les attributs quirevêtent une importance pour le problème.

Lors de la modélisation d'un objet, vous ne devezmodéliser que les opérations et les attributs quirevêtent une importance pour le problème.

Opération réelle que vous ne souhaiterez peut-êtreOpération réelle que vous ne souhaiterez peut-êtrepas modéliser :pas modéliser :

• Pointer avecPointer avec

Attributs réels que vous ne souhaiterez peut-êtreAttributs réels que vous ne souhaiterez peut-êtrepas modéliser :pas modéliser :

• LongueurLongueur• FabricantFabricant• ÂgeÂge

Les objets constituent une abstractionLes objets constituent une abstraction

Page 8: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-88

EncapsulationEncapsulation

• L'encapsulation cache le fonctionnement et la connaissance des objets derrière une interface : les opérations de l'objet.

• Le guichet automatique de la banque Acme est un objet qui fournit de l'argent liquide à ses utilisateurs :

– Le guichet automatique ATM encapsule cela pour ses utilisateurs.

– Le vol constitue un contournement de l'encapsulation.

• Il est impossible de passeroutre l'encapsulation dans la programmation orientéeobjet.

• L'encapsulation cache le fonctionnement et la connaissance des objets derrière une interface : les opérations de l'objet.

• Le guichet automatique de la banque Acme est un objet qui fournit de l'argent liquide à ses utilisateurs :

– Le guichet automatique ATM encapsule cela pour ses utilisateurs.

– Le vol constitue un contournement de l'encapsulation.

• Il est impossible de passeroutre l'encapsulation dans la programmation orientéeobjet.

Page 9: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-99

Exercice pratique :localisation des opérations et des

attributs

Exercice pratique :localisation des opérations et des

attributs

Page 10: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1010

Une banque Une banque peut être un peut être un

objet.objet.

Une banque peut posséder un guichet Une banque peut posséder un guichet automatique, qui peut être un objet.automatique, qui peut être un objet.

Un guichet automatique peut être pourvu d'un Un guichet automatique peut être pourvu d'un clavier, d'un lecteur de cartes et d'un tiroir-caisse ; clavier, d'un lecteur de cartes et d'un tiroir-caisse ;

autant d'éléments qui peuvent être des objets.autant d'éléments qui peuvent être des objets.

Hiérarchies d'objetsHiérarchies d'objets

• Les objets peuvent être constitués d'autres objets.

• Les objets peuvent faire partie d'autres objets.

• Cette relation entre les objets est connue sous le noms d'agrégation.

• Les objets peuvent être constitués d'autres objets.

• Les objets peuvent faire partie d'autres objets.

• Cette relation entre les objets est connue sous le noms d'agrégation.

Page 11: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1111

Lorsque vous créez l'objet "mon stylo bleu", vous ne devez Lorsque vous créez l'objet "mon stylo bleu", vous ne devez pas en spécifier les opérations, ni les attributs. Il vous suffit pas en spécifier les opérations, ni les attributs. Il vous suffit

d'indiquer la classe à laquelle il appartient.d'indiquer la classe à laquelle il appartient.

Qu'est-ce qu'une classe ?Qu'est-ce qu'une classe ?

• Une classe est un modèle pour objets.

• Une définition de classe spécifie les opérations et les attributs relatifs à toutes les instances de cette classe.

• Une classe est un modèle pour objets.

• Une définition de classe spécifie les opérations et les attributs relatifs à toutes les instances de cette classe.

Page 12: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1212

Pourquoi les classes sont-elles nécessaires ?

Pourquoi les classes sont-elles nécessaires ?

• Une classe définit un type d'objet.

• Une classe définit le comportement et la structure d'un groupe d'objets :

– Vous pouvez gérer la complexité en utilisant des classes.

– Le monde se compose d'une multitude d'objets. Aussi, les gens classent-ils les objets en types.

– Si vous comprenez le type, vous pouvez l'appliquer à de nombreux objets.

• Une classe définit un type d'objet.

• Une classe définit le comportement et la structure d'un groupe d'objets :

– Vous pouvez gérer la complexité en utilisant des classes.

– Le monde se compose d'une multitude d'objets. Aussi, les gens classent-ils les objets en types.

– Si vous comprenez le type, vous pouvez l'appliquer à de nombreux objets.

Page 13: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1313

• Identifiez la structure et le comportement communs d'un groupe d'objets.

• Identifiez un seul concept cohérent.

• Ces deux objets appartiennent à la classe "stylo".

• Identifiez la structure et le comportement communs d'un groupe d'objets.

• Identifiez un seul concept cohérent.

• Ces deux objets appartiennent à la classe "stylo".

Mon stylo bleuMon stylo bleu ops :ops : écrire, remplir écrire, remplir attribs :attribs : quantité d'encre, couleur de l'encre quantité d'encre, couleur de l'encre

Ton stylo bleuTon stylo bleu ops :ops : écrire, remplirécrire, remplir attribs :attribs : quantité d'encrequantité d'encre

Comment identifier une classe ?Comment identifier une classe ?

Page 14: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1414

Comparaison Classes / ObjetsComparaison Classes / Objets

• Les classes sont des définitions statiques permettant de comprendre tous les objets qui en font partie.

• Les objets sont des entités dynamiques qui existent dans le monde réel et la simulation que nous en effectuons.

• Attention ! Les personnes opérant dans le domaine de la technologie OO utilisent presque toujours indifféremment les termes "classes" et "objets" ; le contexte s'avère nécessaire pour faire la distinction entre les deux concepts.

• Les classes sont des définitions statiques permettant de comprendre tous les objets qui en font partie.

• Les objets sont des entités dynamiques qui existent dans le monde réel et la simulation que nous en effectuons.

• Attention ! Les personnes opérant dans le domaine de la technologie OO utilisent presque toujours indifféremment les termes "classes" et "objets" ; le contexte s'avère nécessaire pour faire la distinction entre les deux concepts.

Page 15: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1515

HéritageHéritage

• Il peut y avoir une communauté de conception entre différentes classes.

• Définissez les propriétés communes dans une superclasse.

• Les sous-classes utilisent la technologie d'héritage pour inclure ces propriétés.

• Il peut y avoir une communauté de conception entre différentes classes.

• Définissez les propriétés communes dans une superclasse.

• Les sous-classes utilisent la technologie d'héritage pour inclure ces propriétés.

Compte d'épargneCompte d'épargne Compte chèquesCompte chèques

CompteCompte

Page 16: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1616

Compte d'épargneCompte d'épargne

CompteCompte StyloStylo

CrayonCrayon

La relation "est un type de"La relation "est un type de"

• Un objet de sous-classe "est un type d'" objet de superclasse.

• Une sous-classe doit présenter tous les comportements de la superclasse.

• Un objet de sous-classe "est un type d'" objet de superclasse.

• Une sous-classe doit présenter tous les comportements de la superclasse.

Page 17: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1717

• La notion de "polymorphisme" signifie qu'une même opération peut exister dans plusieurs classes.

• Toutes les opérations ont la même signification, mais chacune exécute l'opération à sa manière.

• La notion de "polymorphisme" signifie qu'une même opération peut exister dans plusieurs classes.

• Toutes les opérations ont la même signification, mais chacune exécute l'opération à sa manière.

Embarquement de passagersEmbarquement de passagers

PolymorphismePolymorphisme

Page 18: 55 Principes de la technologie orientée objets. 5-2 A la fin de ce cours, vous serez capables de : Décrire l'abstraction Décrire les concepts orientés.

5-5-1818

Voici les principaux enseignements de cette leçon :

• Un objet est une abstraction d'un objet du monde réel.

• Une classe est un modèle ou une "batterie d'ustensiles" pour objets.

• Les classes forment des arborescences d'héritage ; les opérations définies dans une classe sont transmises à toutes les sous-classes.

• Le polymorphisme dispense le programme appelant de connaître la classe de l'objet de réception.

Voici les principaux enseignements de cette leçon :

• Un objet est une abstraction d'un objet du monde réel.

• Une classe est un modèle ou une "batterie d'ustensiles" pour objets.

• Les classes forment des arborescences d'héritage ; les opérations définies dans une classe sont transmises à toutes les sous-classes.

• Le polymorphisme dispense le programme appelant de connaître la classe de l'objet de réception.

RésuméRésumé