UE PROGRAMMATION AVANCÉE
|
|
- Clotilde Forget
- il y a 5 ans
- Total affichages :
Transcription
1 UE PROGRAMMATION AVANCÉE Programmation Orientée Objet Langage C++ Florence CLOPPET
2 SOMMAIRE Informations pratiques Introduction Programmation Structurée / Programmation Objets POO Historique POO Concepts Principes Langage C++ Introduction Classes et Objets Spécificités par rapport au langage C et à Java Héritage Templates Conteneurs Flux Smart pointeurs 2
3 Informations pratiques Cours Lundi 8h30-9h45 Salle Curie A TD-TP Mercredi: Daniel Felipe GONZALEZ OBANDO (à partir du 20/09) Groupe 2: Salle Machine C h15-09h30 Groupe 1 : Salle machine C h45-11h00 DanielFelipe.GONZALEZOBANDO@pasteur.fr Poly disponible sur 3
4 Contrôle des Connaissances Contrôle continu CC (/20 points) 2 épreuves sur machine + 1 Compte rendu de TP Présence obligatoire aux TPs pour passer les épreuves machines Examen E épreuve écrite de 1h30 Note session 1 = max(e ; (E + CC) / 2) Note session 2 Si CC >=10 alors max(e ; (E + CC) / 2) Sinon E avec E = note de l examen de la session concernée Aucun document autorisé lors des évaluations 4
5 Informations pratiques Bibliographie Le Langage C++, Bjarne Stroustrup, Édition Addison-Wesley (2000) ou Pearson Education France (2007) Apprendre Java et C++ en parallèle, J.B. Boichat, Eyrolles, Édition 2003 Pont entre C et C++ (2 ème Édition), P.N. Lapointe, Vuibert, Edition
6 Introduction Paradigmes (types) de programmation : 2 types principaux programmation procédurale ou structurée programmation par objets Évolution due à : l'augmentation de la taille des programmes la nécessité de faire évoluer et de maintenir les programmes 6
7 Introduction POO versus Programmation Structurée 7
8 Introduction POO versus Programmation Structurée 8
9 Introduction Programmation Structurée Mode d'analyse fondé sur les fonctionnalités du programme Approche cartésienne classique mise en évidence de la (ou les) fonction(s) à réaliser Décomposition hiérarchique et descendante en 1 ensemble de sous-fonctions, jusqu'à ce que le codage des sous-fonctions soit simple à réaliser. Chaque fonction résout une partie du problème Unité logique = le module 9 En mémoire Une zone pour les variables Une zone pour les fonctions
10 Introduction Programmation Structurée Fonctionnalité... sous-fonction 1 sous-fonction 2 sous-fonction
11 Introduction Programmation Structurée Problème : fonction = partie la plus volatile dans l'évolution d'un système ensemble de données = partie la plus stable si l'architecture du système est trop fortement liée aux fonctions le système ne pourra pas évoluer lorsqu'il devra résoudre d'autres tâches 11
12 Introduction Programmation Orientée Objets (POO) Le système développé est structuré par rapport aux données qu'il doit manipuler et non selon les fonctionnalités à remplir Évolution des données est plus lente que celle des fonctions architecture du système fondée sur les données a plus de chances de résister au temps et aux changements exigés par les utilisateurs. 12
13 Introduction Programmation Orientée Objets (POO) Approche ascendante identifier les objets (briques du système) les composer entre eux pour créer le système Question 1ère La question "Que doit faire le système?" devient "Sur quoi doit-il le faire?" 13
14 Introduction Programmation Orientée Objets (POO) 14
15 Introduction Programmation Orientée Objets (POO) Objectifs Programmation par composants Faciliter la réutilisation du code Réutiliser des fragments de code développés dans un cadre différent Fait appel aux notions d encapsulation, d abstraction Faciliter l évolution du code Améliorer la conception et la maintenance des grands systèmes Unité logique Objet = entité qui regroupe des variables et des fonctions permettant de les manipuler 15
16 Introduction POO Composabilité favorise la production d'éléments logiciels qui peuvent être combinés librement les uns avec les autres pour produire de nouveaux systèmes Notion en relation avec le pb de reutilisabilité éléments de logiciels nouveau système 16
17 Introduction POO Continuité modulaire Une petite modification de la spécification du problème ne doit amener à ne modifier qu'un seul module ou peu de modules mais pas l'architecture globale du système Notion en relation avec le pb d extensibilité du programme Protection modulaire / architecture modulaire bonne architecture modulaire 1 communication entre modules contrôlée et disciplinée 1 module doit communiquer avec le plus petit nombre possible de modules Si 2 modules communiquent, ils doivent échanger aussi peu d'informations que possible (contraintes de sécurité) 1 seul chef et le reste du monde parle à ce chef 1 module ne parle qu'à ces 2 voisins immédiats architecture à bannir 17
18 Introduction POO Protection / Encapsulation les modules communiquent entre eux par l'intermédiaire de leur interface toute information qui ne concerne que le module doit rester à l'intérieur du module informations privées toute information disponible au niveau de l'interface information publique Interface description des fonctions du module PUBLIC PRIVE concerne l implémentation des fonctions du module les autres modules sont préservés des décisions ultérieures qui modifieraient l'implémentation 18
19 Introduction POO Intérêts par rapport à la programmation structurée Le code gagne en sécurité Les données d un objet ne sont manipulées que par ses propres fonctions Les programmes gagnent en clarté Si l architecture des objets est bien conçue on comprend rapidement le rôle de tel ou tel objet Une fonction ne se promène pas dans le vide elle est rattachée à un objet donc à l ensemble des données qu elle manipule Maintenance et évolutivité plus facile 19
20 Introduction Programmation Procédurale / POO - Synthèse Approche procédurale permet de capturer plus rapidement les besoins des utilisateurs, et de répondre plus directement à ces besoins code très peu réutilisable et/ou extensible Approche Objet fournit un cadre plus homogène pour étudier simultanément les données et leur comportement permet de réduire la distance sémantique qui existe entre le modèle réel et le modèle du système permet de mieux intégrer les besoins de plusieurs utilisateurs en faisant partager les objets de base, et de mieux garantir leur évolution. 20
21 SOMMAIRE Informations pratiques Introduction Programmation Structurée / Programmation Objets POO Historique POO Concepts Principes Langage C++ Introduction Classes et Objets Spécificités par rapport au langage C et à Java Héritage Templates Conteneurs Flux Smart pointeurs 21
22 POO Historique Début en Norvège à la fin des années 60 Développement de Simula (Simple Universal Language) = Algol + concepts de POO et simulation discrète Années 1970 Smalltalk = archétype des langages objets Développé chez Xerox (=>1 er système Fenêtres, Icônes, Souris) Au cours des années 80 : intérêt pour les interfaces graphiques Apparition de nouveaux langages Eiffel : fortement typé, entièrement orienté objet C++, extension du C Ajout de spécificités permettant la mise en œuvre des concepts de la POO Object Pascal (Delphi) Années 1990 Maturité des concepts objets Standardisation de C++ Apparition de Java et Python Sun souhaite développer des logiciels indépendants de toute architecture matérielle 22
23 POO Concepts Objet abstraction d'une entité particulière (objet physique ou abstrait de notre monde) caractérisée par des : Attributs représentant son état et les liens qui l'unissent à d'autres objets Données stockées dans un ensemble de variables internes à l objet Méthodes (fonctions) représentant les actions qui lui sont applicables mavoiture -marque = Ferrari -couleur = rouge - vitesse = 200 -estdemarree = non - demarre() - accelere() - freine() -. 23
24 POO / Concepts Objets Objet défini par Un état Attributs(variables qui stockent des valeurs) Une identité Permet de distinguer un objet d un autre objet Un comportement Défini par des méthodes qui modifient des états, et/ou qui envoie un message à un autre objet 24 mavoiture démarre lemoteur mavoiture -marque = Ferrari -couleur = rouge - vitesse = 200 -estdemarree = oui
25 POO / Concepts Objets Communication entre objets Exécution d un programme = suite d interactions (envois de message) entre objets 25
26 POO / Concepts Objets Communication (suite) La réception d un message par un objet L invocation d une méthode (fonction) qui peut déclencher 3 types d actions Manipulation des données de l objet Envoi de messages Création de nouveaux objets 26
27 POO / Concepts Classe ensemble d'éléments qui partagent un même ensemble de comportements et une même structure 27
28 POO / Concepts Classe ensemble d'éléments qui partagent un même ensemble de comportements et une même structure 28
29 POO / Concepts Classe 1 classe sert de " moule" pour la création des objets 1 objet est une instance de classe 2 objets issus de la même classe peuvent contenir des valeurs différentes 29
30 POO / Concepts Classe Structure de données regroupant Les données Attributs qui peuvent posséder un type quelconque prédéfini (entier, caractère ) ou un type Classe Les moyens de traitement de ces données Méthodes (équivalent de fonctions) : traitements applicables à l objet ou à un de ses attributs 30
31 POO / Concepts Classe Peut être assimilée à un type abstrait de données (TAD) à la différence que TAD est une spécification abstraite expression d'une structure et d'un comportement Pas de détails sur l implémentation Classe est une implémentation Solution programmée qui correspond à un TAD Objet possède Une partie publique = interface Une partie privée = réalisation - implémentation 31
32 POO / Concepts Un programme Orienté Objet est constitué de Classes qui permettent de créer des objets qui s envoient des messages L ensemble des interactions entre les objets définit un algorithme Les relations entre classes reflètent la décomposition du programme 32
33 SOMMAIRE Informations pratiques Introduction Programmation Structurée / Programmation Objets POO Historique POO Concepts Principes Langage C++ Introduction Classes et Objets Spécificités par rapport au langage C et à Java Héritage Templates Conteneurs Flux Smart pointeurs 33
34 Langage C++ Introduction Extension du C développée par Bjarne Stroustrup (1980) Avantages du C++ grand nombre de fonctionnalités ; performances du C ; Optimisation des compilateurs en font un langage de prédilection pour la recherche de programmes performants facilité d'utilisation des langages objets ; portabilité des fichiers sources ; facilité de conversion des programmes C en C++, et, en particulier, possibilité d'utiliser toutes les fonctionnalités du langage C ; contrôle d'erreurs accru. puissance, fonctionnalité, portabilité et sûreté 34
35 Langage C++ / Introduction Objectifs du cours 35 Syntaxe du C considérée comme acquise Insister sur les différences entre C et C++ Déclarations reconnues comme instructions, commentaire // Contrôle de typage amélioré Opérateurs new et delete Type de données bool, mot clé const Références Classes Fonctions membres, membres virtuelles Constructeurs, destructeurs Héritage Surcharge d opérateurs Templates Conteneurs Faire le parallèle avec Java
36 Langage C++ / Introduction Objectifs du cours Syntaxe du C considérée comme acquise Insister sur les différences entre C et C++ Déclarations reconnues comme instructions, commentaire // Contrôle de typage amélioré Opérateurs new et delete Type de données bool, mot clé const Références Classes Fonctions membres, membres virtuelles Constructeurs, destructeurs Héritage Surcharge d opérateurs Templates 36 Faire le parallèle avec Java
37 Langage C++ / Introduction Introduction C++ => Langage Compilé Comparaison C++/ Java 37
38 Langage C++ / Syntaxe de base Langages C ANSI C ++ C ++ = C + E + S + P Avec E = écarts (incompatibilités C ++ à la norme ANSI) S = Spécificités du C ++ non axées sur la POO P = Possibilités de la POO 38
39 Langage C++ / Syntaxe de base Langages C ANSI C ++ Incompatibilités majeures Définition de fonction Portée du qualificatif const 39 Spécificités C ++ Commentaire Liberté dans l emplacement des déclarations Notion de référence => transmission d arguments par adresse Surdéfinition des fonctions, opérateurs Nouveaux opérateurs de gestion dynamique de la mémoire Possibilité de définir des fonctions inline C ++ et POO Notion de classe Membres données Fonctions membres Fonctions amies Surdéfinitions d opérateurs (+,-,*,/) Notion de patron
40 Langage C++ / Syntaxe de base Langages C ANSI C ++ Incompatibilités majeures Portée du qualificatif const const appliqué à une variable locale => interdit la modification de la valeur de la variable const appliqué à une variable globale => rend la constante invisible des autres fichiers sources (static + const en C) 40
41 Langage C++ / Syntaxe de base Langages C ANSI C ++ Facilité supplémentaire Utilisation d une constante dans une expression Expression constante en C++ mais pas en C Valeur calculée au moment de la compilation Autorisée en C ++ mais pas en C Cela limite l emploi des #define 41
42 Langage C++ / Syntaxe de base Langages C ANSI C ++ Type supplémentaire Booléen N existe pas en C bool en C ++ true, false boolean en Java 42
43 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Commentaire de fin de ligne // Met en commentaire tout le texte à partir de // jusqu à la fin de la ligne On peut combiner /* */ et // 43
44 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Déclarations de variables => + de souplesse Déclaration peut avoir lieu ailleurs qu en début de bloc ou de fonction MAIS toujours avant d utiliser la variable!! 44
45 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Notion de référence Passage par valeur 45
46 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Notion de référence Passage par adresse 46
47 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Notion de référence Prise en charge par le compilateur de la transmission des paramètres par adresse Passage par référence 47
48 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Arguments par défaut Attribution de valeurs par défaut à des arguments N existe ni en C ni en Java 48
49 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Surdéfinition de fonction Un même symbole possède plusieurs significations => Plusieurs fonctions de même nom Critère de différenciation = type des arguments Existe en C++ et en Java 49
50 Langage C++ / Syntaxe de base Langages C ANSI C ++ Spécificités C ++ Surdéfinition de fonction + argument par défaut 50
Évaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailC++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailIFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Plus en détailMachines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailCOMPARAISONDESLANGAGESC, C++, JAVA ET
REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailBrique BDL Gestion de Projet Logiciel
Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailPROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel. 4 24 12 24 CC + ET réseaux
PROGRAMME DETAILLE du Master IRS Parcours en première année en apprentissage Unités d Enseignement (UE) 1 er semestre ECTS Charge de travail de l'étudiant Travail personnel Modalités de contrôle des connaissances
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailPrésentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...
Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo
Plus en détailC++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy
Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailConservation des documents numériques
Conservation des documents numériques Qu'est ce qu'un document numérique? Matthieu GIOUX matthieu.gioux@bnf.fr Contexte de la préservation des documents numériques Une croissance en expansion Développement
Plus en détailProgrammation Orientée Objet
Université de Pau et des Pays de l Adour Institut Universitaire de Technologie des Pays de l Adour Département Réseaux et Télécommunications 371, rue du Ruisseau BP 201 40004 Mont-de-Marsan Cedex tél :
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailAnnexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Plus en détailPrésentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailBES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Plus en détail2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE
2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailApprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Plus en détailVérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailMODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Plus en détailSuivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailRTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com
RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailEntraînement au concours ACM-ICPC
Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming
Plus en détailOPTION SCIENCES BELLE-ISLE-EN-TERRE
Serge Combet Professeur Mathématiques Collège de Belle-Isle-En-Terre OPTION SCIENCES BELLE-ISLE-EN-TERRE 2011-2012 Mathématiques & Informatique Sommaire I. Introduction... 5 II. Choix des logiciels...
Plus en détailArchitecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Plus en détailChapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailLa plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle
La plate-forme DIMA Master 1 IMA COLI23 - Université de La Rochelle DIMA Bref aperçu Qu'est-ce? Acronyme de «Développement et Implémentation de Systèmes Multi-Agents» Initié par Zahia Guessoum et Jean-Pierre
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailGOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailBases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS
Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailUniversité du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailWEA Un Gérant d'objets Persistants pour des environnements distribués
Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et
Plus en détailhttp://www.linea21.com info@linea21.com
Livre blanc http://www.linea21.com SOMMAIRE SOMMAIRE... 1 PRESENTATION... 2 TIC ET DEVELOPPEMENT DURABLE... 3 PUBLIER ET COMMUNIQUER... 4 LES GROUPES DE TRAVAIL...5 LE TABLEAU DE BORD PERSONNALISE... 6
Plus en détailOASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication
Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailBaccalauréat technologique
Baccalauréat technologique Épreuve relative aux enseignements technologiques transversaux, épreuve de projet en enseignement spécifique à la spécialité et épreuve d'enseignement technologique en langue
Plus en détailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailÉléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailIBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)
IBM SPSS Statistics Version 22 Instructions d'installation sous Windows (licence simultanée) Table des matières Instructions d'installation....... 1 Configuration requise........... 1 Installation...............
Plus en détailIntroduction au Génie Logiciel
Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques
Plus en détailOMGL6 Dossier de Spécifications
OMGL6 Dossier de Spécifications HELPDESK Radoslav Cvetkoski, Xavier Fantin, Yohann Haution, Yanis Salti, Sébastien Tassier Cvetkoski, Fantin, Haution, Salti, Tassier Page 1 Sommaire 1. Historique du document...
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailVérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Plus en détailDiagramme de classes
Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailIntroduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailLa programmation orientée objet et le langage C++
Cours précédents La programmation orientée objet et le langage C++ Pablo Rauzy rauzy @ enst fr pablo.rauzy.name/teaching.html#epu-cpp EISE4 @ Polytech UPMC 22 octobre 2014 Cours 5 Nouveautés du C++ par
Plus en détailIntroduction à l algorithmique et à la programmation (Info 2)
Introduction à l algorithmique et à la programmation (Info 2) Premier cours: présentation du module, codage et définition de l algorithmique Matthieu Puigt IUT du Littoral Côte d Opale DUT Génie Industriel
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailDUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique
DUT Informatique, orientation Imagerie Numérique Domaine : Sciences, Technologies, Santé Mention : Informatique Organisation : Institut Universitaire de Technologie Lieu de formation : Le Puy en Velay
Plus en détailPROSOP : un système de gestion de bases de données prosopographiques
PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la
Plus en détail