Programmation par objet en C++ Marianne Morris 1 Figure 6.3 The Continuum of Programming Languages 2 Figure 8.2 A Simple C++ Program 3 Figure 8.3 The Overall Form of a Typical C++ Program 4 Figure 8.5 Some of the C++ Standard Data Types 5 Stockage virtuel de données Identificateurs « identifiers » Mots clés « keywords » Variables vs constantes Déclaration de données Faire attention aux lettres minuscules vs majuscules! 6 Stockage virtuel de données Array Groupe une collection de cellules de mémoires pour stocker des données du même type 7 Types d’expressions « statements » Mécanisme de contrôle Opérations en séquence Opérations de condition Exécutées en un ordre particulier If … else Boucles While (true) { exécuter des instructions } 8 Utilisation des fonctions Fonctions « functions » Un module de code en C++ Nommée d’après les identificateurs en C++ Fonctions d’opérations: optionnelles Fonction main : obligatoire! 9 Figure 8.22 The Outline for a C++ Function 10 Programmation orientée objet La programmation par objet Object-Oriented Programming - OOP Paradigme de programmation Consiste en la définition et l'assemblage de briques logicielles appelées objets Objet Représente un concept, une idée ou une chose du monde réel, de l'entreprise ou celui des idées. Définition selon Wikipedia.org 11 Programmation orientée objet Héritage de type Mécanisme par lequel est raffiné un type père en un autre type, le sous-type Mécanisme de restrictions des espaces de valeurs du type Père Sous-type 12 Programmation orientée objet Héritage de type La faculté d’une sous-classe ou d’un soustype d’hériter des propriétés de son parent et de les affiner 13 Programmation orientée objet Rédéfinition Permet à un sous-type de raffiner l'implémentation d'un message défini dans le type père Overriding (en anglais) 14 Programmation orientée objet Polymorphisme Permet d'utiliser des objets de types différents là où est attendue une valeur d'un type précis, dès que ceux-ci satisfont le type requis Concept d’héritage – façon de réaliser le polymorphisme 15 Programmation orientée objet Encapsulation L'idée de cacher l'information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet Permet à l'instance d'une classe d'accéder aux attributs d'une super-classe 16 Programmation orientée objet Avantages de POO : Réutilisation des logiciels Une perspective plus naturelle qui ressemble plus à la réalité! 17 Langage procédural Un paradigme de programmation basé sur le concept d'appel procédural Une procédure …aussi appelée routine, sous-routine, méthode ou fonction Contient une série d’étapes à réaliser N'importe quelle procédure peut être appelée à n'importe quelle étape de l'exécution du programme 18 Programmation en langage procédural C Développé au début des années 1970 aux labos AT & T Fait pour UNIX Utilisé pour les logiciels du système et les systèmes d’exploitation Utilisé pour des buts généraux 19 Programmation en langage procédural C Pourquoi est-ce C très populaire? Relation entre le langage C et UNIX C est très efficace C est proche du langage assembleur C contient une syntaxe de haut niveau La portabilité de C 20 Figure 9.1 User Hardware Interface and Programming Languages 21 C++ (langage orienté objet) Développé au début des années 1980 aux labos AT & T Un « superset » de C Langage à avantages industriels Standard Conception orientée objet Collection de librairies de code 22 Exercices Exemples distribués en classe – copies papier pour pratiquer la programmation en C++ 23