Cours POO Programmation Orienté Objet 2ème Licence Informatique par Said Bachir Université de Ouargla
Plan de cours 1. Introduction à la Programmation Orienté Objet. 2. Les classes. 3. Héritage et polymorphisme. 4. Interface et implémentation. 5. Composants et programmation visuelle.
Chapitre 01 Introduction
1. Programmation classique: Ch 01: Introduction Un programme est une solution automatique d un problème du monde réel. Un programme est constitué d un ensemble de données et des traitements sur ces données. Donnée 1 Donnée 2 Traitement 1 Traitement 2 résultats Donnée n Traitement m Les données sont représentés par des variables ou des constants. Les traitements sont définis sous forme d instructions (simples ou composées) et par des sous programmes (procédures et fonctions). Cours POO, par Said Bachir Université de Ouargla 4
Ch 01: Introduction Un problème complexe se compose généralement de plusieurs éléments, où chaque élément a ses propres données et peut avoir des traitements différents. une relation de dépendance peut exister entre les éléments d un problème. Pour que la solution automatique s adapte mieux à un problème complexe on à besoin d une représentation modulaire des données et des traitements. C est le principe de la programmation orienté objet. 2. Principe de la programmation orienté objet: La POO est un paradigme de programmation élaboré dans les années 60. Dans la POO la solution d un problème est vue comme un ensemble d entités, chaque entité est définie par un ensemble d attributs ensemble d actions L élément de base de la POO est appelé Objet, les attributs de l objet sont appelés propriétés et les actions sont appelées méthodes. L état d un objet est constitué des valeurs de ses propriétés. Cours POO, par Said Bachir Université de Ouargla 5
Ch 01: Introduction Le comportement de l objet est l exécution de ses méthodes. 3. Objet et classe d objets: Un objet est une entité logicielle qui sauvegarde un ensemble d informations ( dans ses propriétés) et qui est capable d effectuer un ensemble d actions ( par le déclanchement de ses méthodes). Dans une solution orientée objet, on trouve plusieurs éléments qui ont les mêmes attributs et qui ont capables d effectuer les mêmes actions. Donc au lieu de définir plusieurs objets pour des éléments similaires (ayant les mêmes caractéristiques), il suffit de définir une classe d objets. Une classe (type) d objets regroupe des objets qui partagent les mêmes propriétés et les mêmes méthodes. Un objet est appelé aussi instance de classe. Dans la POO nous utilisons alors le terme objet au lieu de variable et le terme classe au lieu de type. Cours POO, par Said Bachir Université de Ouargla 6
4. Concepts de base de la POO : Ch 01: Introduction La POO se base sur les concepts suivants: Classe et objet : l objet et une instance d une classe. Encapsulation: l objet renferme ses propres attributs et ses méthodes. Abstraction : concentration sur les caractéristiques importantes d un objet selon le point de vue du programmeur. Héritage : une relation qui permet de définir une classe à partir d une classe existante. Polymorphisme : un mécanisme qui permet à une sousclasse de redéfinir une méthode hérité de sa classe supérieur. Cours POO, par Said Bachir Université de Ouargla 7
5. Langages de POO : Ch 01: Introduction Il existe plusieurs langages de POO, tel que: Java : le plus utilisé, c est un langage multiplateformes. C++ : c est la version orientée objet du langage C. C# : basé sur le Framework dotnet. Python: permet de programmer plus brièvement. Objective-C : langage désigné pour OS X et ios de Apple. PHP: langage de programmation web. Smaltalk, Ocaml, Ruby, Eiffel, etc. Dans ce cours nous adoptons le langage Java qui est purement orienté objet. Java est un langage multiplateformes, c.-à-d. un programme compilé peut être exécuté sur n importe quel système. C est grâce à la Machine Virtuelle de Java JRE. Cours POO, par Said Bachir Université de Ouargla 8
Ch 01: Introduction 6. Exemple d implémentation orientée objet : Dans cette exemple nous désirons écrire un programme pour la gestion des comptes bancaires. Propriétés ( données ): num_compte : chaine de caractères nom : chaine de caractères solde : réel état : booléen Méthodes ( traitements ): + créer_compte (chaine, chaine, réel) : compte +nouvelle_avoir ( ) : réel +deposer ( réel ) +retirer ( réel ) +bloquer ( ) +débloquer ( ) +avoir_état( ) Cours POO, par Said Bachir Université de Ouargla 9
Ch 01: Introduction Soit deux objets cpt1, cpt2 avec des comportements différents: cpt1, cpt2 : Compte; cpt1 <- créer_compte( 544532/32, Omar, 140); cpt2 <- créer_compte( 667543/56, Ahmed, 220); cpt1.verser(75); cpt2.retirer(50); cpt1.bloquer(); ecrire(cpt2.nouvel_avoir()); si cpt1.avoir_état() = vrai alors ecrire(cpt1.nouvel_avoir());... Cours POO, par Said Bachir Université de Ouargla 10