Campus-Booster ID : Copyright © SUPINFO. All rights reserved La programmation objet, un fondement de la programmation évènementielle
Objectifs de ce module Découverte de la programmation objet: Un fondement de la programmation évènementiel en VB 2005 Passage en revue des notion élémentaire de POO En suivant ce module vous allez : La programmation objet, un fondement de la programmation évènementielle
Plan du module Notion d’objet Notion de classe Membre d’un objet Notion d’encapsulation Notion d’héritage Notion de polymorphisme Voici les parties que nous allons aborder : La programmation objet, un fondement de la programmation évènementielle
Notion d’objet La programmation objet, un fondement de la programmation évènementielle
Plan de la partie Programmation orientée objet Voici le chapitre que nous allons aborder : Notion d’objet
Programmation orientée objet L'un des concepts fondamentaux de la POO repose sur la modélisation d'objets du monde réel en entités programmatiques (dites : "Classes" que nous abordons juste après cette première définition). Ces entités programmatiques permettent ainsi de regrouper ce que l'on appellera des attributs ou caractéristiques de vos objets réels. Notion d’objet
Programmation orientée objet 1.La POO permet d'architecturer une application en regroupant ses données et traitements au sein d'une même entité appelée : "Objet" 2.Les objets sont constitués de membres classifiables en : propriétés méthodes 3.Les membres d'un objet sont définis par le "Type" de l'objet 4.La manipulation des objets au sein des outils mis à votre disposition permettent une meilleure représentation virtuelle des objets réels. Notion d’objet
Pause-réflexion sur la partie 1 Avez-vous des questions ? Notion d’objet
Notion de classe La programmation objet, un fondement de la programmation évènementielle
Plan de la partie Définition Voici les chapitres que nous allons aborder : Notion de classe
Définition La "Tarte au fraise" est un Objet tandis que la recette permettant de réaliser cette Tarte est la "Classe Tarte aux fraises". Nous dirons également que la Tarte aux fraises est une « instance » de votre recette. Ainsi un objet est une instance d'une classe. Un peu comme si nous avions donné une existence à un élément abstrait. Notion de classe
Définition 1.une classe définie les membres d'un objet 2.un objet est une instance de classe 3.une classe peut posséder un nombre illimité d'instance d'objet Notion de classe
Pause-réflexion sur la partie 2 Avez-vous des questions ? Notion de classe
Membre d’un objet La programmation objet, un fondement de la programmation évènementielle
Plan de la partie Les propriétés Les méthodes Les constructeurs Voici les chapitres que nous allons aborder : Membre d’un objet
Les propriétés Les propriétés représentent les caractéristiques de vos objets permettant de stocker les informations caractérisant votre objet réel, soit dans le cas de votre support de cours (ex: couleur, poids, taille, nombre de pages, …) ou dans le cas de la tarte aux fraises le poids, le temps de cuisson, le nombre de fraises. Membre d’un objet
Les méthodes Les méthodes de tout objet se distinguent en deux parties : "les procédures" et " les fonctions" : 1.Une procédure est une méthode ne retournant aucune valeur. 2.Une fonction est une méthode retournant une valeur possédant elle-même un type. Membre d’un objet
Les constructeurs Le constructeur est la procédure d'initialisation de vos objets. Elle sera activée automatiquement lors de la création d'une nouvelle instance de tout objet. Elle vous permettra par exemple de définir des valeurs par défaut aux propriétés de vos objets instanciés. Membre d’un objet
Pause-réflexion sur la partie 3 Avez-vous des questions ? Membre d’un objet
Notion d’encapsulation La programmation objet, un fondement de la programmation évènementielle
Plan de la partie Découverte Définition et visibilité Voici les chapitres que nous allons aborder : Notion d’encapsulation
Découverte Une des principales notions de la POO est l’encapsulation entrainant la capacité de masquage des données. Ce terme peut prendre deux sens : 1.Regroupement de code et de données. 2.Masquage d'information en dehors de la classe. Notion d’encapsulation
Définition et visibilité L'encapsulation permet de restreindre les accès aux membres d'un objet, obligeant ainsi l'utilisation des membres exposés. Nous parlerons ici d'interface d'objet. Cette visibilité des membres d'un objet peut se faire à différents niveaux et ce en fonction de votre point d'accès, que vous accédiez directement à une classe en vue de l'instancier, à une classe héritant d'une autre classe,... Le degré de visibilité peut être de type : privée, protégée ou publique. Notion d’encapsulation
Pause-réflexion sur la partie 4 Avez-vous des questions ? Notion d’encapsulation
Notion d’héritage La programmation objet, un fondement de la programmation évènementielle
Plan de la partie Définition Exemple l’héritage simple l’héritage multiple Voici les chapitres que nous allons aborder : Notion d’héritage
Définition L'héritage est une notion propre à la POO. Celle-ci permet de créer la structure d'une classe à partir des membres d'une autre classe existante. Les avantages majeurs de ce procédé étant la possibilité d'affiner vos classes tout en préservant l'intégrité des classes parentes, de capitaliser votre travail au fur et à mesure de vos développements en construisant vos librairies de classes (permettant ainsi de constituer vos Frameworks). Notion d’héritage
Exemple Deux types de tartes possèderont des membres communs comme le poids, le temps de cuisson, le fait d'être mangé, … et auront des membres qui seront différents en fonction du type de tarte. Notion d’héritage
L’héritage simple La notion d'héritage que nous avons passé en revue est appelé la notion d'héritage simple. Ainsi chaque classe ne pourra hériter que d'une et une seule classe, contrairement à la notion d'héritage multiple qui malheureusement n'est pas disponible les langages dit.NET-Compliant (reposant sur le.NET Framework). Notion d’héritage
L’héritage multiple L'héritage multiple permet à une classe d'hériter simultanément de plusieurs autres classes. Cet avantage non négligeable et manquant aux langages.NET-Compliant pourra être partiellement comblé par une approche d'héritage en cascade de vos classes. Notion d’héritage
Pause-réflexion sur la partie 5 Avez-vous des questions ? Notion d’héritage
Notion de polymorphisme La programmation objet, un fondement de la programmation évènementielle
Plan de la partie Origines et contexte informatique Polymorphisme Différents types de polymorphismes Voici les chapitres que nous allons aborder : Notion de polymorphisme
Origines et contexte informatique Le terme polymorphisme trouve ses origines dans le grec signifiant une "capacité d'assumer plusieurs formes". Dans un contexte informatique, une méthode est dite polymorphe si celle-ci peut prendre des arguments (paramètres) de nombre et de type différents. Notion de polymorphisme
Polymorphisme Imaginez que vous souhaitiez manger une tarte, peu importe qu'elle soit une tarte aux pommes ou une tarte aux fraises, vous vous retrouvez face à deux objets de type différents, peu importe qu'ils héritent ou non du même objet parent, et vous souhaiter leur appliquer le même traitement : "Manger". Nous appellerons ceci du polymorphisme comportemental. C'est-à-dire que vous ne devrez pas vous préoccuper du processus se trouvant dans la méthode "manger" mais uniquement vous soucier d'enclencher cette méthode puisque le traitement sera géré par votre capacité à vous adapter aux objets de type différents. Notion de polymorphisme
Différents types de polymorphismes Voici les différents types de polymorphismes fondamentaux rencontrés en POO : 1.Surcharge (Overloading) : même méthode gérant des arguments de types et de nombres différents 2.Redéfinition (Overriding) : substitution d'une méthode à son équivalente dans la classe parent, principalement dans le cadre de la relation d'héritage 3.Template (Polymorphisme Générique) : correspond à la possibilité de définir des méthodes génériques supposant l'abstraction des types. Nous y retrouvons par exemple l'ajout d'un objet à une collection d'objets de même type, quelque soit le type. Notion de polymorphisme
Pause-réflexion sur la partie n° 6 Avez-vous des questions ? Notion de polymorphisme
Notion d’objet Notion de classe Notion d’encapsulation Résumé du module Notion d’héritage La programmation objet, un fondement de la programmation évènementielle Membre d’un objet
Pour aller plus loin… Modules de cours Module n°1 Module n°3 Si vous voulez approfondir vos connaissances: La programmation objet, un fondement de la programmation évènementielle
Félicitations Vous avez suivi avec succès le module de cours n°2 La programmation objet, un fondement de la programmation évènementielle
Fin La programmation objet, un fondement de la programmation évènementielle