Cours programmation orientée objet en Java

Cours programmation orientée objet en Java, tutoriel & guide de travaux pratiques JAVA en pdf.

Comment assurer la réutilisation du logiciel?

Type abstrait de données définir le type par ses propriétés (spécification)
Interface, spécification et implémentation
Une interface et une spécification (=les propriétés à assurer) pour définir un type
Une (ou plusieurs) implémentation du type abstrait de données
Ces implémentations doivent vérifier la spécification
Pour l’utilisateur du type abstrait de données
Accès uniquement à l’interface (pas d’accès à l’implémentation)
Utilisation des propriétés du type abstrait telles que définies dans la spécification.
(L’utilisateur est lui-même un type abstrait avec une interface et une spécification)

Comment assurer la réutilisation du logiciel?

Mais en utilisant un type abstrait l’utilisateur n’en connaît pas l’implémentation
il sait uniquement que la spécification du type abstrait est supposée être vérifiée par l’implémentation.
Pour la réalisation concrète, une implémentation particulière est choisie
Il y a naturellement polymorphisme

Notion de contrat (Eiffel)

Un client et un vendeur
Un contrat lie le vendeur et le client (spécification) Le client ne peut utiliser l’objet que par son interface
La réalisation de l’objet est cachée au client
Le contrat est conditionné par l’utilisation correcte de l’objet ( pré-condition)
Sous réserve de la pré-condition le vendeur s’engage à ce que l’objet vérifie sa spécification (post-condition)
Le vendeur peut déléguer: l’objet délégué doit vérifier au moins le contrat (héritage)
Un exemple…
Pile abstraite et diverses implémentations
Type abstrait de données
NOM
pile[X]
FONCTIONS
vide : pile[X] -> Boolean
nouvelle : -> pile[X]
empiler : X x pile[X] -> pile[X]
dépiler : pile[X] -> X x pile[X]
PRECONDITIONS
dépiler(s: pile[X]) <=> (not vide(s))
AXIOMES
forall x in X, s in pile[X]
vide(nouvelle())
not vide(empiler(x,s))
dépiler(empiler(x,s))=(x,s)
Remarques
Le type est paramétré par un autre type
Les axiomes correspondent aux pré conditions
Il n’y pas de représentation
Il faudrait vérifier que cette définition caractérise bien un pile au sens usuel du terme (c’est possible)

?? Introduction
?? programmation objet pourquoi? Comment? Un exemple en Java
?? Classes et objets
?? Méthode et variables, constructeurs, contrôle d’accès
?? Héritage
?? Extension de classe, méthode et héritage, variables et héritage, constructeurs et héritage
?? Héritage: compléments
?? Classe Object, clonage, classes abstraites et interface, Classes internes et emboîtées
?? Object, Interfaces, classes imbriquées
?? Classe Object, clonage, classes abstraites et interface, classes internes et emboîtées
?? Exceptions
?? Exceptions, assertions
?? Divers
?? Enumeration, tableaux, conversions, noms
?? Généricité
?? Généralités, types génériques imbriqués, types paramètres bornés, méthodes génériques
?? Types de données
?? String et expressions régulières, Collections, Conteneurs, itérations
?? Entrée-sortie
?? Introduction à Swing
?? Threads
?? Compléments
?? Reflections, annotations, documentation

……..

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *