Debuter avec la programmation orientee objet
Téléchargement: Debuter avec la programmation orientee objet
Si le téléchargement ne démarre pas après 5 secondes, veuillez cliquer sur le lien "Télécharger"
-
Débuter avec la programmation orientée objet
I- Object-Oriented ProgrammingCes termes sont devenus très communs, dit-il. Malheureusement peu de gens sont d'accord sur leur sens'. On met souvent en parallèle les notions de 'type abstrait' et d'objet (une classe définit un type pour toutes ses instances), à tel point que beaucoup confondent volontairement type et classe. Des langages comme ADA, Clu, C++ donnent la possibilité de définir des types qui se manipulent plus ou moins de la même façon que des types de base. Cela donne lieu à ce que l'on appelle souvent 'types abstraits de données .
- L’objet
Il est impossible de parler de Programmation Orientée Objet sans parler d'objet, bien entendu. Tâchons donc de donner une définition aussi complète que possible d'un objet.
Un objet est avant tout une structure de données. Autrement, il s'agit d'une entité chargée de gérer des données, de les classer, et de les stocker sous une certaine forme. En cela, rien ne distingue un objet d'une quelconque autre structure de données. La principale différence vient du fait que l'objetregroupe les données et les moyens de traitement de ces données
Un objet rassemble de fait deux éléments de la programmation procédurale.
Les champs :
Les champs sont à l'objet ce que les variables sont à un programme : ce sont eux qui ont en charge les données à gérer. Tout comme n'importe quelle autre variable, un champ peut posséder un type quelconque défini au préalable : nombre, caractère... ou même un type objet.
Les méthodes :
Les méthodes sont les éléments d'un objet qui servent d'interface entre les données et le programme. Sous ce nom obscur se cachent simplement des procédures ou fonctions destinées à traiter les données.
Les champs et les méthodes d'un objet sont ses membres.
Si nous résumons, un objet est donc un type servant à stocker des données dans des champs et à les gérer au travers des méthodes.
Si on se rapproche du Pascal, un objet n'est donc qu'une extension évoluée des enregistrements (type record) disposant de procédures et fonctions pour gérer les champs qu'il contient.
- Objet et classe
Avec la notion d'objet, il convient d'amener la notion de classe. Cette notion de classe n'est apparue dans le langage Pascal qu'avec l'avènement du langage Delphi et de sa nouvelle approche de la Programmation Orientée Objet. Elle est totalement absente du Pascal standard.
Ce que l'on a pu nommer jusqu'à présent objet est, pour Delphi, une classe d'objet. Il s'agit donc du type à proprement parler. L'objet en lui-même est une instance de classe, plus simplement un exemplaire d'une classe, sa représentation en mémoire.
- Les trois fondamentaux de la POO
La Programmation Orientée Objet est dirigée par trois fondamentaux qu'il convient de toujours garder à l'esprit : encapsulation, héritage et polymorphisme. Houlà ! Inutile de fuir en voyant cela, car en fait, ils ne cachent que des choses relativement simples. Nous allons tenter de les expliquer tout de suite.
L'encapsulation introduit donc une nouvelle manière de gérer des données. Il ne s'agit plus de déclarer des données générales puis un ensemble de procédures et fonctions destinées à les gérer de manière séparée, mais bien de réunir le tout sous le couvert d'une seule et même entité.
Si l'encapsulation est déjà une réalité dans les langages procéduraux (comme le Pascal non objet par exemple) au travers des unités et autres librairies, il prend une toute nouvelle dimension avec l'objet.
Pour conclure, l'encapsulation permet de garder une cohérence dans la gestion de l'objet, tout en assurant l'intégrité des données qui ne pourront être accédées qu'au travers des méthodes visibles.
Spécialiser et factoriser: important pour la 'réutilisation'.
• Les connaissances les plus générales sont mises en commun dans des classes qui sont ensuite spécialiséespar définitions de sous-classes(connaissances spécifiques).
• Une sous-classe est donc la spécialisation de la description d'une classe appelée sa superclasse.
• Une sous-classe hérite de sa superclasse.
• Conceptuellement tout se passe comme si les informations de la superclasse étaient recopiées dans la sous-classe.
• La spécialisation d'une classe peut être réalisée selon deux techniques :
-l'enrechissement: la sous-classe est dotée de nouvelles variables d'instances et/ou de méthodes.
- substitution: donner une nouvelle définition à une méthode hérité, lorsque celle-ci se révèle inadéquate pour l'ensemble des objets de la sous-classe (masquage).
Le graphe d'héritage
• La relation d'héritage lie une classe à sa superclasse.
• Lorsqu'une classe n'a qu'une seule superclasse c'est l'héritage simple, le graphe d'héritage constitue un arbre.
• La structuration en classes et sous-classes entraîne une modularité importante.
• Les modifications dans une classe n'ont d'incidence que dans le sous-arbre de la classe considérée.
- Evaluation :
-
Soyez le premier à écrire un commentaire sur ce fichier!
Veuillez vous identifier ou vous enregistrer.

