You are on page 1of 11

Rappel des notions de lorient objet

www.freewebs.com/fresma

Encapsulation
Consiste masquer les dtails d'implmentation d'un objet, en dfinissant une interface. L'interface est la vue externe d'un objet, elle dfinit les services accessibles (offerts) aux utilisateurs de l'objet. Facilite l'volution d'une application car elle stabilise l'utilisation des objets : on peut modifier l'implmentation des attributs d'un objet sans modifier son interface. Garantit l'intgrit des donnes, car elle permet d'interdire l'accs direct aux attributs des objets (utilisation d'accesseurs).
www.freewebs.com/fresma

Hritage
L'hritage est un mcanisme de transmission des proprits d'une classe (ses attributs et mthodes) vers une sous-classe. Une classe peut tre spcialise en d'autres classes, afin d'y ajouter des caractristiques spcifiques ou d'en adapter certaines. Plusieurs classes peuvent tre gnralises en une classe qui les factorise, afin de regrouper les caractristiques communes d'un ensemble de classes. La spcialisation et la gnralisation permettent de construire des hirarchies de classes. L'hritage peut tre simple ou multiple.
www.freewebs.com/fresma

Hritage : exemple

www.freewebs.com/fresma

Polymorphisme
Le polymorphisme reprsente la facult d'une mthode pouvoir s'appliquer des objets de classes diffrentes. Le polymorphisme augmente la gnricit du code. L'hritage et le polymorphisme vite la duplication et encourage la rutilisation.

www.freewebs.com/fresma

Polymorphisme : exemple
Vehicule convoi[3] = { Train("TGV"), Voiture("twingo"), Bateau("Titanic") }; for (int i = 0; i < 3; i++) { convoi[i].seDeplacer(); }

www.freewebs.com/fresma

Agrgation
Il s'agit d'une relation entre deux classes, spcifiant que les objets d'une classe sont des composants de l'autre classe. Une relation d'agrgation permet donc de dfinir des objets composs d'autres objets. L'agrgation permet d'assembler des objets de base, afin de construire des objets plus complexes.

www.freewebs.com/fresma

Agrgation : exemple

www.freewebs.com/fresma

Langages orients objet


Simula, 1er langage de programmation implmenter le concept de type abstrait ( l'aide de classes), date de 1967. En 1976 dj, Smalltalk implmente les concepts fondateurs de l'approche objet (encapsulation, agrgation, hritage) l'aide de :
Classes, associations entre classes, hirarchies de classes

Le 1er compilateur C++ date de 1980, et C++ est normalis par l'ANSI. De nombreux langages acadmiques : Eiffel, Objective C, Loops, ...
www.freewebs.com/fresma

Java
Conu et dvelopp par Sun Microelectronics Langage orient-objet + plate-forme Fourni avec des librairies de classes Utilise une machine virtuelle pour lexcution des programmes Langage interprt, indpendant des plate-formes Dynamique, distribu Multithreaded Robuste et scuris

Java JDK J2SE J2EE


www.freewebs.com/fresma

10

Architecture J2EE
Client Web server Presentation Application server Business logic Data

Servlets JavaServer Pages (JSP)

Enterprise JavaBeans (EJB) CORBA


11

www.freewebs.com/fresma

You might also like