La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours Programmation Orientée Objet (POO) 2eme année Licence-LMD

Présentations similaires


Présentation au sujet: "Cours Programmation Orientée Objet (POO) 2eme année Licence-LMD"— Transcription de la présentation:

1 Cours Programmation Orientée Objet (POO) 2eme année Licence-LMD
2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

2 LICENCE LMD 2eme année - Abdelkader ALEM
Objectif Introduction des concepts de base de la POO. développe des notions de base du langage JAVA L'étudiant est censé avoir acquit pendant le module les compétences suivantes: L'essence de la programmation objet en java Lire et comprendre des programmes en java Ecrire la solution d'un problème en java Ecrire des applications sophistiquées (utilisation de structures de données avancées) Prés requis: Algorithmique, Structures de données, Programmation I et Programmation II 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

3 LICENCE LMD 2eme année - Abdelkader ALEM
Contenu de la matière Introduction à la Programmation Orientée Objet Les classes Déclaration des classes Les constructeurs et destructeurs Les méthodes d’accès Encapsulation Héritage et polymorphisme Interface et implémentation Interface graphique et Applet 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

4 Chapitre 1 : Introduction à la Programmation Orientée Objet
2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

5 De la programmation classique vers la programmation orientée objet
La programmation classique telle que étudiée au travers des langages C, Pascal… définie un programme comme étant: un ensemble de données sur lesquelles agissent des procédures et des fonctions. Les données constituent la partie passive du programme. Les procédures et les fonctions constituent la partie active; Programmer dans ce cas revenait à: définir un certain nombre de variables (structures, tableaux…) écrire des procédures pour les manipuler sans associer explicitement les unes aux autres. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

6 De la programmation classique vers la programmation orientée objet
Exécuter un programme se réduit alors à appeler ces procédures dans un ordre décrit par le séquençage des instructions et en leur fournissant les données nécessaires à l’accomplissement de leurs tâches. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

7 De la programmation classique vers la programmation orientée objet
Dans cette approche données et procédure sont traitées indépendamment les unes des autres sans tenir compte des relations étroites qui les unissent. Les questions qu’on peut poser dans ce cas: 1. Cette séparation (données, procédures) est elle utile? 2. Pourquoi privilégier les procédures sur les données (Que veut-on faire?)? 3. Pourquoi ne pas considérer que les programmes sont avant tout des ensembles objets informatiques caractérisé par les opérations qu’ils connaissent? Les langages objets sont nés pour répondre à ces questions. Ils sont fondés sur la connaissance d’une seule catégorie d’entités informatiques: les objets. Un objet incorpore des aspects statiques et dynamiques au sein d’une même notion. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

8 De la programmation classique vers la programmation orientée objet
Un programme est constitué d’un ensemble d’objets chacun disposant d’une partie procédures et d’une partie données. Les objets interagissent par envoie de messages. Un objet peut recevoir un msg qui déclenche: Une fonction qui modifie son état ou Une fonction qui envoie un msg à un autre objet 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

9 De la programmation classique vers la programmation orientée objet
Les objets sont de nouvelles sortes de variables encore plus générales que les types dérivés (ou structures). Leur caractéristique principale: ils acceptent des procédures (fonctions, subroutines) comme composantes. La question « Que doit faire le système ? » dans l’approche classique devient « Sur quoi doit-il le faire? » et de quoi doit être composé mon programme? 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

10 De la programmation classique vers la programmation orientée objet
2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

11 LICENCE LMD 2eme année - Abdelkader ALEM
La crise du logiciel Dans les années 1970, la programmation se développe et de nouvelles technologies logicielles apparaissent : mode multi-utilisateurs, interfaces graphiques, programmation concurrente, … La taille des programmes augmente également : lignes de code pour un logiciel de bonne taille dans les années 1970, dans les années 1980 (et des millions de nos jours). La crise du logiciel des années 70 est provoquée par : l'impossibilité de maitriser la sureté des logiciels (pannes nombreuses) l'inflation des délais de développement De bonnes techniques de développement logiciel deviennent nécessaires. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

12 LICENCE LMD 2eme année - Abdelkader ALEM
Historique La programmation objet est inventée dans les années 1970 comme une extension de la programmation procédurale. L'idée est de concevoir les programmes non plus comme des lignes de codes qui s'exécutent séquentiellement, mais comme des objets qui dialoguent.. Début en Norvège à la fin des années 60 :Simula 64 est le premier langage à utiliser ce paradigme mais de façon limitée. Smalltalk, développé à partir de par Alan Kay et publié en 1980, est le premier vrai langage objet. D'autres suivront : Eiffel en 1986, Python en 1991, ... Des versions objets de langages existants seront développées : C++ pour le C, ADA95 pour le ADA, Object Pascal pour le Pascal .. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

13 LICENCE LMD 2eme année - Abdelkader ALEM
Historique Année 1990: apparition de java et standardisation de C++ Première version de Java en 1995, développée principalement par James Gosling. La programmation objet devient à la fin des années 90 le paradigme dominant en programmation. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

14 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base Algorithmique Objet:Dans l’approche orienté objet un algorithme sera essentiellement vu comme un ensemble d’objets auxquels l’utilisateur envoie des messages et qui s’en envoient pendent le fonctionnement. Ces objets seront toujours pour l’utilisateur des boites noires et qui contiendront des variables locales, inconnues de l’environnement, et qui ne s’y intéressera d’ailleurs pas. Le seul moyen d’accéder à ces objets sera l’envoie des messages qu’ils sont capables de comprendre. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

15 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base Un objet est une entité logicielle: Ayant une identité Capable de sauvegarder un état c'est-à-dire un ensemble d’information dans des variables internes (attributs). Répondant à des messages précis en déclenchant des activations internes appropriés qui changent l’état de l’objet (comportement). Ces opération sont appelées méthodes. Ce sont des fonctions liées à des objets et qui précisent le comportement de ces objets. Attributs :Les attributs d’un objet sont l’ensemble des informations se présentant sous forme de variable et permettant de représenter l’état de l’objet. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

16 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base Message: un message est une demande d’activation d’une méthode envoyé à un objet. Méthodes: une méthode est une fonction ou procédure liée à un objet qui est déclenchée à la réception d’un message particulier, la méthode déclenchée correspond strictement au message reçu. La liste des méthodes définies au sein d’un objet constitue l’interface de l’objet pour l’utilisateur. Signature: la signature d’une méthode représente la précision de son nom, du type de ses arguments et du type de donnée retournée. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

17 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base L’invocation d’une méthode peut déclencher 3 types d’actions: Manipulation des données de l’objet; Envoi de messages; Création de nouveaux objets. Classes: Une classe est un ensemble d’objets qui ont en commun: les mêmes méthodes les mêmes types d’attributs Classe = attributs + méthodes + instanciations Une instance d’une classe est un objet particulier d’une classe qui peut activer les méthodes de la classe et qui a des valeurs particulières de ses attributs. On définit l’objet comme l’instance d’une classe. La classe représente pour l’objet ce que représente le type pour la variable. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

18 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base Une classe est un type abstrait qui encapsulent données et traitement. C’est une sorte de moule qui permet ensuite de créer autant d’instances qu’on veut. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

19 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base Une classe est un type abstrait qui encapsulent données et traitement. C’est une sorte de moule qui permet ensuite de créer autant d’instances qu’on veut. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

20 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base public class Etudiant { private String nom; private String prenom; private int Age; public Etudiant(String nom,String prenom, int Age){ this.nom = nom; this.prenom = prenom; this.Age= Age; } public String getNom(){ return this.nom ; public String getpreNom(){ return this.prenom ; public int getAge(){ return this.Age ; LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

21 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base La notion de classe Nous allons commencer par vous exposer les notions de classe, d’objet et d’encapsulation à partir d’un exemple simple de classe. - Nous verrons d’abord comment créer une classe, c’est-à-dire écrire les instructions permettant d’en définir le contenu (champs ou données) et le comportement (méthodes). - Puis nous verrons comment utiliser effectivement cette classe au sein d’un programme. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel

22 LICENCE LMD 2eme année - Abdelkader ALEM
Notions de base La notion de classe Nous allons commencer par vous exposer les notions de classe, d’objet et d’encapsulation à partir d’un exemple simple de classe. - Nous verrons d’abord comment créer une classe, c’est-à-dire écrire les instructions permettant d’en définir le contenu (champs ou données) et le comportement (méthodes). - Puis nous verrons comment utiliser effectivement cette classe au sein d’un programme. 2017/2018 LICENCE LMD 2eme année - Abdelkader ALEM MIP2 - Informatique ; Ph. Hunel


Télécharger ppt "Cours Programmation Orientée Objet (POO) 2eme année Licence-LMD"

Présentations similaires


Annonces Google