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

Slides:



Advertisements
Présentations similaires
Programmation objet La base.
Advertisements

5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
EJB 2 et spécialisation Présentation. Spécialisation La spécialisation Concept objet implémenté dans les langages dits orientés objet. Très souvent accompagné.
A la fin de ton année de 4 ème, tu dois être capable d’utiliser parfaitement un Mais d’abord qu’est-ce qu’un TABLEUR ? ???? TABLEUR- GRAPHEUR Page suivante.
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
1 Le stage informatique de Masters APIM et PIE (2012/2013) Ivana Hrivnacova Vincent Lafage Basé sur le stage informatique du LAL et IPN par (2005/2006):
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
MOUAD ZEHARI SOUFIANE BENHLIMA Réaliser par : Encadré par : Mme Najat RAFALIA Membres de jury: Mme Najat RAFALIA Mr Jâfar ABOUCHABAKA Mr Moulay Youssef.
Windows NT/2000/XP Enjeux et contraintes techniques
Classes, objets, séquences, communication, états
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
I- ANALYSE DU BESOIN / Plan
Téléchargement de fichiers
Modèle objet : les classes
Environnement de développement des BD
Introduction au Langage Pascal
Programmation en C++ Héritage
Environnement du développement de BD ORACLE REPORTS 10g
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Faire une bonne présentation
Initiation aux bases de données et à la programmation événementielle
Dominique PETRELLA – Frédéric GUINEPAIN - IA-IPR STI Versailles
Pas de variable globale
Les notions de classe et d'objet
JavaScript.
Analyse fonctionnelle SYSML (1/3) Portail automatique
Langages pour le Temps Réel
Principes de programmation (suite)
Langages de programmation TP7
Les fonctions.
Les fonctions.
Les bases de données et le modèle relationnel
Le stage informatique de l'IPN
Le stage informatique de l'IPN 2008/2009
Chapitre 2: Les classes et les objets
Les interfaces en PHP.
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Août 2009.
Introduction BD TABLES ET DONNÉES champs OU données, types de données
Notion De Gestion De Bases De Données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
REVUE DE LITTERATURE. Introduction Première partie majeure dans la rédaction du mémoire, la réalisation d’une revue de littérature consiste à effectuer.
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Type Concret – Type Abstrait
Programmation Orientée Objet
Plus de 4000 langages....
Calcul Scientifique Initiation à SCILB
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Les classes et les objets
Paradigme Orienté Objet
Système d’Information Géographique Equipe-SIG. Plan Introduction:  Généralités sur un SIG: Définitions. Objectifs Historique. Approches. Principes Fonctionnement.
IDL interface définition langage. Plan Introduction Principaux éléments IDL Types de données IDL Déclaration de module Déclaration d'interface Déclaration.
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Roowth 1 Université d'Adrar Faculté des Sciences et de la Technologie Département des Mathématiques et Informatique 1 er Année master : Informatique Option:
Principes de programmation (suite)
Lecture/Écriture de fichiers (I/O)
Analyse et programmation langage ADA
1 Théorie générale des systèmes Présenté Par Monsieur Nzukam Nguiffo Guillaume Ingénieur statisticien.
EXPOSE D’UML Licence 2 SI/GL/IM Réalisé par :Demandé par : AYITCHEME Auréane D r HOUNDJI TCHEGNON AlbertRatheil YAYA Hanane ZINSE Bienvenu.
Transcription de la présentation:

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

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

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

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

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

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

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

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

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

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

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 : 10 000 lignes de code pour un logiciel de bonne taille dans les années 1970, 50000 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

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 1971 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

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

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

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

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

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

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

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

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

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

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