.
Inf 431 – Cours 7
Modularit´e
Programmation
par objets (1/2)
jeanjacqueslevy.net
secr´etariat de l’enseignement:
Catherine Bensoussan
Aile 00, LIX,
01 69 33 34 67
www.enseignement.polytechnique.fr/informatique/IF
1
.
Plan
1. Modularit´e
2. Paquetages et espace des noms
3. Contrˆole d’acc`es
4. Programmation par objets
5. Sous-classes et conversions de type
6. Types disjonctifs et sous-classes
2
.
Programmes et abstraction (1/3)
•choix des structures de donn´ees
•isoler les fonctionalit´es
•s´eparer les entr´ees/sorties du corps du programme
•simplicit´e de la signature des fonctions
•´el´egance de l’´ecriture
•d´ecoupage d’un programme en classes
•Sp´ecification ⇒Programmation ⇒Correction
•G´enie logiciel (Software engineering)
•La programmation est une des activit´es les plus complexes jamais
entreprises par l’homme.
Windows XP =50 millions lignes de code,
Linux =30 millions lignes de code,
autres exemples.
3
.
Programmes et abstraction (2/3)
•d´ecomposition d’un programme en modules
•un module a deux parties :
•l’interface accessible depuis l’ext´erieur du module
•l’impl´ementation accessible de l’int´erieur du module
•principe d’encapsulation
•Une file a 3 op´erations : construction, ajouter, supprimer
•Deux impl´ementations possibles : tableau circulaire, liste
•L’ext´erieur n’a pas `a connaitre l’impl´ementation
•On peut changer l’impl´ementation sans que l’ext´erieur ne s’en
rende compte
•on peut composer les modules pour en faire de plus gros
4
.
Programmes et abstraction (3/3)
•structure de bloc dans les langages de programmation
⇒variables locales ou globales
⇒encapsulation
•insuffisant, car les variables communes `a plusieurs fonctions
deviennent globales
⇒accessibles depuis l’ext´erieur
•⇒constructions sp´eciales dans les langages de programmation
•modules ou classes
•donn´ees et fonctions priv´ees ou publiques
5
1 / 32 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!