Conception et Programmation Orientées Objet
|
|
- Marin Lavergne
- il y a 8 ans
- Total affichages :
Transcription
1 Conception et Programmation Orientées Objet 1-Introduction générale Emmanuel Hyon Université Paris Ouest Nanterre UFR SEGMI - L2 MIA / février / 81
2 Sommaire 1 Avant-propos 2 Conception orientée objet 3 Programmation procédurale 4 Programmation orientée objet 5 POO avec Java 2 / 81
3 Sommaire 1 Avant-propos 2 Conception orientée objet 3 Programmation procédurale 4 Programmation orientée objet 5 POO avec Java 3 / 81
4 Objet de ce cours Objectif général Apprendre à penser, concevoir et programmer objet! Trame Conception : utilisation d une notation graphique Programmation : utilisation du langage Java 4 / 81
5 Références Référence bibliographique C. Delannoy. Programmer en Java. Eyrolles, I. Charon. Le langage Java. Hermes, Référence webographique Sun Microsystems. The Java Tutorials. Sun Microsystems. La Java Docs. 5 / 81
6 Modalités Séances de 3h Présence obligatoire. env. 2h de cours et 1h de TD dans les 3-5 premières séances env. 1h de cours et 2h de TD jusqu à la fin du semestre 3h de Cours/TD (alternance plus rapide entre théorie et pratique) vers la fin du semestre selon votre progression Évaluation Un devoir à rendre (projet et/ou TD) Un contrôle continu Un examen (50%) 6 / 81
7 Sommaire 1 Avant-propos 2 Conception orientée objet 3 Programmation procédurale 4 Programmation orientée objet 5 POO avec Java 7 / 81
8 Notion d «Objet» Qu est-ce qu un objet? C est un concept servant à représenter, modéliser toute entité décrite selon ses propriétés et son comportement. Ce comportement s observe via les interactions que le monde extérieur peut avoir avec cette entité. Les interactions sont sollicitées à travers les opérations de l objet. 8 / 81
9 Example d objet 9 / 81
10 Example d objet 10 / 81
11 Avant-propos Conception oriente e objet Programmation proce durale Programmation oriente e objet POO avec Java Example d objet 11 / 81
12 Example d objet 12 / 81
13 Example d objet 13 / 81
14 Example d objet 14 / 81
15 Example d objet r O 15 / 81
16 Caractérisation simple d une personne Exemple Une personne est caractérisée par son prénom, son nom de famille, son sexe, sa date de naissance, son lieu de naissance, sa profession : ce sont ses propriétés. Une personne peut exécuter les opérations suivantes : se réveiller, se lever, marcher, courir, sauter, s asseoir, dormir, manger, lire, écrire, parler (dire son âge), se taire, / 81
17 Modèle textuel simple des objets de type «Personne» Classe : Déclaration de type nom = Personne Propriétés : Déclaration de propriétés nom = prénom ; type de donnée = Chaîne nom = nom de famille ; type de donnée = Chaîne nom = sexe ; type de donnée = Chaîne nom = date de naissance ; type de donnée = Date nom = lieu de naissance ; type de donnée = Chaîne nom = profession ; type de donnée = Chaîne Opérations : comportement des objets de type Personne nom = âge ; type de retour = Entier nom = marcher ; type de retour = Rien nom = dormir ; type de retour = Rien nom = se réveiller ; type de retour = Rien / 81
18 Modèle graphique simple des objets de type «Personne» Classe Personne prénom: Chaine nom: Chaîne sexe: Chaîne datenaissance: Date lieunaissance: Chaîne profession: Chaîne age(): Entier marcher() dormir() seréveiller() Nom de la classe Propriétés Opérations Notation graphique utilisée : Diagramme de classe Notation simplifiée, nous utiliserons un sous-ensemble et l approfondirons progressivement Trois compartiments : nom de la classe, propriétés et opérations. 18 / 81
19 Caractérisation simple d un point du plan cartésien Exemple Un point est caractérisé par son abscisse (x) et son ordonnée (y) : ce sont ses propriétés. On peut exécuter les opérations suivantes sur un point : est-il à l origine des axes? translation vers un autre point selon un delta (dx, dy), distance d un autre point. 19 / 81
20 Modèle textuel simple des objets de type «Point» Classe : Déclaration de type nom = Point Propriétés : Déclaration de propriétés nom = x ; type de donnée = Entier nom = y ; type de donnée = Entier Opérations : comportement des objets de type Point nom = estorigine ; type de retour = Booléen nom = translater(dx : Entier, dy : Entier) ; type de retour = Rien nom = distance(p : Point) ; type de retour = Réel 20 / 81
21 Modèle graphique simple des objets de type «Point» Classe Point x: Entier y: Entier estorigine(): Booléen translater(dx: Entier, dy: Entier) distance(p: Point): Réel Nom de la classe Propriétés Opérations 21 / 81
22 Caractérisation simple d une sphère r O Possède deux propriétés : son rayon r et son centre O, qui est un objet de type Point Connaissant r, on peut calculer sa surface (S = 4πR 2 ) Connaissant r, on peut calculer son volume (V = 4 3 πr3 ) 22 / 81
23 Modèle textuel simple des objets de type «Sphère» Classe : Déclaration de type nom = Sphère Propriétés : Déclaration de propriétés nom = rayon ; type de donnée = Réel ; valeur par défaut = 0 nom = centre ; type de donnée = Point ; valeur par défaut = Point(0, 0) Opérations : comportement des objets de type Sphère nom = surface ; type de retour = Réel nom = volume ; type de retour = Réel surface et volume ne possèdent pas de paramètres formels (sous l hypothèse que r est connu au sein des objets de type «Sphère»). 23 / 81
24 Modèle graphique simple des objets de type «Sphère» Classe Sphère rayon: Réel centre: Point surface(): Réel volume(): Réel Nom de la classe Propriétés Opérations 24 / 81
25 Notion de «Classe» Qu est-ce qu une classe? C est un concept orienté objet destiné à modéliser formellement des objets d un certain type d entité. La classe décrit les propriétés et les opérations des objets du type d entité qu il représente. Exemple La classe Sphère dont la description graphique a été donnée dans la diapositive précédente décrit les objets de type «Sphère». 25 / 81
26 «Un» objet de type Sphère Objet : Déclaration d une instance type = Sphère Propriétés : Initialisation des propriétés rayon = 3,5 ; (Positionné à la création de cet objet) centre = Point(2,6) ; (Positionné à la création de cet objet) À l invocation des opérations : (on suppose que r n a pas changé) surface = 153,938 volume = 179,594 Cet objet est une instance de la classe Sphère. On peut en avoir d autres. 26 / 81
27 Apparence de «différents objets» de type Sphère O r O r O r... Ce sont des instances de la classe Sphère. 27 / 81
28 Avant-propos Conception oriente e objet Programmation proce durale Programmation oriente e objet POO avec Java Apparence de «diffe rentes instances» de Personne 28 / 81
29 Schéma simplifiée d instances de Personne Personne Barack Obama instance de prénom nom sexe datenaissance lieunaissance profession instance de Michael Hall Hillary Clinton instance de seréveiller âge marcher dormir 29 / 81
30 Sommaire 1 Avant-propos 2 Conception orientée objet 3 Programmation procédurale 4 Programmation orientée objet 5 POO avec Java 30 / 81
31 Comment programmer «Sphère» en C? Programmation structurée, procédurale Dans un premier temps, nous allons tout mettre dans un main Affichage de la surface et du volume après invocation de l exécutable du programme, avec le rayon en argument. Exemple d invocation :./sphere 3.5 NB : dans les programmes suivants, nous faisons abstraction du centre de la sphère, pour garder chaque programme lisible sur une page. y Laissé en exercice : complétez avec la définition du centre. 31 / 81
32 1 /* 2 * \file: sphere.c 3 * \author: lom 4 * \brief Calcul de la surface et du volume d'une sphère étant donné son rayon. 5 */ 6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <math.h> #define PI int main(int argc, char** argv) { 15 double rayon = 0; 16 int nb_assigned; if (argc!= 2) { 19 /* argv[0] est le nom du programme */ 20 printf("usage: %s rayon\n", argv[0]); 21 } else { 22 nb_assigned = sscanf(argv[1], "%lf", &rayon); 23 if (nb_assigned == 1) { 24 printf("rayon lu = %g\n", rayon); 25 printf("surface = %g\n", 4.0 * PI * pow(rayon, 2)); 26 printf("volume = %g\n", (4.0 / 3.0) * PI * pow(rayon, 3)); 27 } else { 28 printf("rayon non extrait"); 29 } 30 } 31 return (EXIT_SUCCESS); 32 }
33 Où sont les notions de classe et d objet? Tout est mélangé dans un programme principal... La propriété rayon est symbolisée par la variable rayon. On ne la distingue pas des autres variables. Les opérations sont à peine décelables dans des printf (lignes 28 et 29) Aucune notion de classe et d objet!! 33 / 81
34 1 /* 2 * \file: sphere.c 3 * \author: lom 4 * \brief Calcul de la surface et du volume d'une sphère étant donné son rayon. 5 */ 6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <math.h> #define PI int main(int argc, char** argv) { 15 double rayon = 0; propriété 16 int nb_assigned; if (argc!= 2) { 19 /* argv[0] est le nom du programme */ 20 printf("usage: %s rayon\n", argv[0]); 21 } else { opérations 22 nb_assigned = sscanf(argv[1], "%lf", &rayon); 23 if (nb_assigned == 1) { 24 printf("rayon lu = %g\n", rayon); 25 printf("surface = %g\n", 4.0 * PI * pow(rayon, 2)); 26 printf("volume = %g\n", (4.0 / 3.0) * PI * pow(rayon, 3)); 27 } else { 28 printf("rayon non extrait"); 29 } 30 } 31 return (EXIT_SUCCESS); 32 }
35 Peut-on améliorer ce programme en C? Demander interactivement à l utilisateur la valeur du rayon Calculer la surface et le volume dans des fonctions retournant leur valeur Décrire une sphère dans une structure et déclarer un type sur cette structure y Au passage, idem pour le type Point (laissé en exercice... ) Structurer l ensemble du programme dans un header (.h) et une implémentation (.c) 35 / 81
36 1 /* 2 * \file sphere_struct.h 3 * \author lom 4 * \brief définition d'une interface pour une structure sphere. 5 * Fonctions de calcul de la surface et du volume. 6 */ 7 8 #ifndef _SPHERE_STRUCT_H 9 #define _SPHERE_STRUCT_H #define PI #define MAX_CHAR typedef char CHAINE[MAX_CHAR]; typedef enum { 17 faux, vrai 18 } BOOLEEN; typedef struct sphere { 21 double rayon; 22 } SPHERE, *POINTEUR_SPHERE; extern double surface(double r); extern double volume(double r); #endif /* _SPHERE_STRUCT_H */
37 1 /* 2 * \file sphere_struct.c 3 * \author lom 4 * \brief Implémentation des fonctions de sphere_struct 5 */ 6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <math.h> #include "sphere_struct.h" double surface(double r) { 14 return 4.0 * PI * pow(r, 2); 15 } double volume(double r){ 18 return (4.0 / 3.0) * PI * pow(r, 3); 19 }
38 1 /* 2 * \file sphere_main.c 3 * \author lom 4 * \brief programme principal pour calculer surface et volume d'une sphere 5 * selon son rayon saisi par l'utilisateur. Utilise l'interface sphere_struct. 6 */ 7 8 #include <stdio.h> 9 #include <stdlib.h> #include "sphere_struct.h" int main(int argc, char** argv) { 14 POINTEUR_SPHERE ps = NULL; 15 CHAINE saisie; 16 int nb_assigned = 0; 17 double r = 0.0; 18 BOOLEEN stop = faux; do { 21 printf("entrez le rayon (nb reel) d'une sphere (-1 pour quitter) : "); 22 fgets(saisie, MAX_CHAR, stdin); 23 nb_assigned = sscanf(saisie, "%lf", &r); 24 if (nb_assigned == 1) { 25 if ((int) r == -1) { 26 stop = vrai; 27 } else { 28 if (ps == NULL){ 29 ps = malloc(sizeof(*ps)); 30 } 31 ps->rayon = r; 32 printf("rayon lu = %g\n", ps->rayon); 33 printf("surface = %g\n", r >=0.0? surface(ps->rayon) : 0); 34 printf("volume = %g\n", r >= 0.0? volume(ps->rayon) : 0); 35 } 36 } 37 } while (!stop); 38 if (ps!= NULL){ 39 free(ps); 40 } 41 return (EXIT_SUCCESS); 42 }
39 Où sont les notions de classe et d objet? La classe est vaguement définie dans le.h Un typedef sur une structure représente l entité Sphere La propriété rayon est représentée par le champ rayon Les opérations sont spécifiées par les fonctions surface et volume Elles n appartiennent pas au type SPHERE Dans le programme sphere_main.c, il n y a pas de notion d instance d une sphère (malloc). Toujours pas de notion claire de classe et d objet! 39 / 81
40 1 /* 2 * \file sphere_struct.h 3 * \author lom 4 * \brief définition d'une interface pour une structure sphere. 5 * Fonctions de calcul de la surface et du volume. 6 */ 7 8 #ifndef _SPHERE_STRUCT_H 9 #define _SPHERE_STRUCT_H #define PI #define MAX_CHAR typedef char CHAINE[MAX_CHAR]; typedef enum { 17 faux, vrai 18 } BOOLEEN; typedef struct sphere { 21 double rayon; 22 } SPHERE, *POINTEUR_SPHERE; propriété extern double surface(double r); opérations 26 extern double volume(double r); #endif /* _SPHERE_STRUCT_H */ type de donnée
41 1 /* 2 * \file sphere_struct.c 3 * \author lom 4 * \brief Implémentation des fonctions de sphere_struct 5 */ 6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <math.h> #include "sphere_struct.h" double surface(double r) { 14 return 4.0 * PI * pow(r, 2); 15 } double volume(double r){ 18 return (4.0 / 3.0) * PI * pow(r, 3); 19 } ces fonctions implémentées ici «n'appartiennent» pas au type SPHERE
42 1 /* 2 * \file sphere_main.c 3 * \author lom 4 * \brief programme principal pour calculer surface et volume d'une sphere 5 * selon son rayon saisi par l'utilisateur. Utilise l'interface sphere_struct. 6 */ 7 8 #include <stdio.h> 9 #include <stdlib.h> #include "sphere_struct.h" int main(int argc, char** argv) { 14 POINTEUR_SPHERE ps = NULL; 15 CHAINE saisie; 16 int nb_assigned = 0; 17 double r = 0.0; 18 BOOLEEN stop = faux; do { 21 printf("entrez le rayon (nb reel) d'une sphere (-1 pour quitter) : "); 22 fgets(saisie, MAX_CHAR, stdin); 23 nb_assigned = sscanf(saisie, "%lf", &r); 24 if (nb_assigned == 1) { 25 if ((int) r == -1) { 26 stop = vrai; 27 } else { 28 if (ps == NULL){ 29 ps = malloc(sizeof(*ps)); 30 } 31 ps->rayon = r; 32 printf("rayon lu = %g\n", ps->rayon); 33 printf("surface = %g\n", r >=0.0? surface(ps->rayon) : 0); 34 printf("volume = %g\n", r >= 0.0? volume(ps->rayon) : 0); 35 } 36 } 37 } while (!stop); 38 if (ps!= NULL){ 39 free(ps); 40 } 41 return (EXIT_SUCCESS); 42 } allocation explicite, pas de notion d'instance fonctions pouvant provenir de n'importe quel «module»
43 Sommaire 1 Avant-propos 2 Conception orientée objet 3 Programmation procédurale 4 Programmation orientée objet 5 POO avec Java 43 / 81
44 Caractéristiques essentielles de la POO 1 Tout est objet! : chaque objet encapsule des données et des méthodes agissant sur ces données. Nous développerons progressivement chaque concept. 44 / 81
45 Caractéristiques essentielles de la POO 1 Tout est objet! : chaque objet encapsule des données et des méthodes agissant sur ces données. 2 L encapsulation réalise une abstraction des données : vu de l extérieur de l objet, les détails d implémentation sont cachés. Nous développerons progressivement chaque concept. 45 / 81
46 Caractéristiques essentielles de la POO 1 Tout est objet! : chaque objet encapsule des données et des méthodes agissant sur ces données. 2 L encapsulation réalise une abstraction des données : vu de l extérieur de l objet, les détails d implémentation sont cachés. 3 Le concept de classe généralise la notion de type : tous les objets d une certaine classe sont des instances de cette classe. Nous développerons progressivement chaque concept. 46 / 81
47 Caractéristiques essentielles de la POO 1 Tout est objet! : chaque objet encapsule des données et des méthodes agissant sur ces données. 2 L encapsulation réalise une abstraction des données : vu de l extérieur de l objet, les détails d implémentation sont cachés. 3 Le concept de classe généralise la notion de type : tous les objets d une certaine classe sont des instances de cette classe. 4 Des classes peuvent hériter d autres classes (classe mère - classes filles). La notion d héritage permet d établir une hiérarchie entre les classes. Nous développerons progressivement chaque concept. 47 / 81
48 Caractéristiques essentielles de la POO 1 Tout est objet! : chaque objet encapsule des données et des méthodes agissant sur ces données. 2 L encapsulation réalise une abstraction des données : vu de l extérieur de l objet, les détails d implémentation sont cachés. 3 Le concept de classe généralise la notion de type : tous les objets d une certaine classe sont des instances de cette classe. 4 Des classes peuvent hériter d autres classes (classe mère - classes filles). La notion d héritage permet d établir une hiérarchie entre les classes. 5 Avec l héritage, il devient possible de redéfinir des méthodes au sein des classes filles. On parle de polymorphisme. Nous développerons progressivement chaque concept. 48 / 81
49 Notion d objet en POO Qu est-ce qu un objet? C est une entité cohérente et structurante de données et des algorithmes travaillant sur ces données. Les données sont structurées dans des attributs (i.e., propriétés) Les algorithmes sont structurés dans des méthodes (i.e., opérations) 49 / 81
50 Notion de classe en POO Qu est-ce qu une classe? C est un descripteur d objets (un moule à objets). Elle générale la notion de type de donnée. Elle décrit les données membres et les méthodes. Tous les objets d une même classe possèdent la même structure interne Un objet est une instance de la classe qui définit son type Les données membres de chaque objet prennent une valeur significative pour cet objet Instanciation : création d un objet avec ses données propres 50 / 81
51 Instanciation de la classe Sphère Ici, on fait abstraction de la propriété centre. On rajoute deux opérations : une pour instancier des objets de type sphère (constructeur), une autre pour changer (à volonté et non plus seulement à la création) le rayon. CLASSE Sphère - rayon: Réel + CréerSphère(r: Réel) + changerrayon(r: Réel) + surface(): Réel + volume(): Réel Instanciation Instanciation Instanciation INSTANCES :Sphère rayon=3.5 :Sphère rayon=7.3 :Sphère rayon= / 81
52 Instanciation d une classe Voiture CLASSE Voiture - marque: Chaîne - modèles: Chaîne - année: Entier - puissancefiscale: Entier - vitessemax: Entier - vitesseactuelle + CréerVoiture() + Démarrer() + Arrêter() + Accélerer(taux:Entier) + Avancer() + Reculer() Instanciation Instanciation INSTANCES :Voiture marque="bugatti" modèle="16/4 Veyron" année=2006 puissancefiscale=118 vitessemax=407 vitesseactuelle=230 :Voiture marque="lamborghini" modèle="murcielago" année=2005 puissancefiscale=56 vitessemax=330 vitesseactuelle= / 81
53 Apparence des 2 instances de Voiture décrites plus haut / 81
54 Exercice I 1 On cherche à modéliser par une classe les TAG d un morceaux MP3. 54 / 81
55 Exercice I 1 On cherche à modéliser par une classe les TAG d un morceaux MP3. 2 Ceux-ci manipulent : Titre, Interprète, Durée, Style, Album, / 81
56 Exercice I 1 On cherche à modéliser par une classe les TAG d un morceaux MP3. 2 Ceux-ci manipulent : Titre, Interprète, Durée, Style, Album,... 3 Et il faut pouvoir : accèder aux données, modifier les données. 56 / 81
57 Exercice I 1 On cherche à modéliser par une classe les TAG d un morceaux MP3. 2 Ceux-ci manipulent : Titre, Interprète, Durée, Style, Album,... 3 Et il faut pouvoir : accèder aux données, modifier les données. Ecrire le modèle textuel et le modèle graphique d un tel modèle 57 / 81
58 Exercice II 1 On cherche à modéliser par une classe le stock d un magasin 58 / 81
59 Exercice II 1 On cherche à modéliser par une classe le stock d un magasin 2 Celui-ci est caractérisé par un identifiant et un ensemble fini d objet / 81
60 Exercice II 1 On cherche à modéliser par une classe le stock d un magasin 2 Celui-ci est caractérisé par un identifiant et un ensemble fini d objet... 3 Et il faut pouvoir : Faire état du stock, Faire une commande au fournisseur, consulter l état du stock, assurer une commande client / 81
61 Exercice II 1 On cherche à modéliser par une classe le stock d un magasin 2 Celui-ci est caractérisé par un identifiant et un ensemble fini d objet... 3 Et il faut pouvoir : Faire état du stock, Faire une commande au fournisseur, consulter l état du stock, assurer une commande client... Ecrire le modèle textuel et le modèle graphique d un tel modèle 61 / 81
62 POO vs. programmation structurée 1 Prog. structurée : détermination d abord des procédures pour manipuler des données, puis de la structure à imposer aux données pour faciliter leur manipulation. 62 / 81
63 POO vs. programmation structurée 1 Prog. structurée : détermination d abord des procédures pour manipuler des données, puis de la structure à imposer aux données pour faciliter leur manipulation. 2 POO réalise l inverse : détermination d abord des données de façon cohérente dans des entités structurantes (objets), puis des opérations sur ces données. 63 / 81
64 POO vs. programmation structurée 1 Prog. structurée : détermination d abord des procédures pour manipuler des données, puis de la structure à imposer aux données pour faciliter leur manipulation. 2 POO réalise l inverse : détermination d abord des données de façon cohérente dans des entités structurantes (objets), puis des opérations sur ces données. POO est de ce point de vue plus modulaire, réutilisable, flexible et plus facile à maintenir 64 / 81
65 POO vs. programmation structurée Exemple Considérer une application composée de 2000 procédures, développée selon la prog. structurée ou POO : en prog. structurée, organisation du code très aléatoire... y code lourd, difficilement réutilisable, variables internes exposées en POO, on pourrait avoir 100 classes, 20 méthodes en moyenne par classe y code vraiment modulaire, regroupements cohérents, contrôle d accès aux variables internes En plus des bénéfices énoncés plus haut, les bugs sont plus faciles à découvrir et corriger!! 65 / 81
66 POO vs. programmation structurée procédure procédure méthode méthode Données encapsulées d'un objet procédure procédure Données globales méthode méthode Données encapsulées d'un objet procédure procédure méthode méthode Données encapsulées d'un objet 66 / 81
67 Exercice III 1 On cherche à modéliser par 3 classes les ensembles nécessaires à la tenue d un jury de fin d année. 67 / 81
68 Exercice III 1 On cherche à modéliser par 3 classes les ensembles nécessaires à la tenue d un jury de fin d année. 2 On a besoin de 3 types d information : Structure des cours, Eleves, Promotion 68 / 81
69 Exercice III 1 On cherche à modéliser par 3 classes les ensembles nécessaires à la tenue d un jury de fin d année. 2 On a besoin de 3 types d information : Structure des cours, Eleves, Promotion 3 Pour chaque élève on devra rendre une décision 69 / 81
70 Exercice III 1 On cherche à modéliser par 3 classes les ensembles nécessaires à la tenue d un jury de fin d année. 2 On a besoin de 3 types d information : Structure des cours, Eleves, Promotion 3 Pour chaque élève on devra rendre une décision Ecrire le modèle textuel et le modèle graphique des 3 modèles 70 / 81
71 POO vs. Conception orientée objet 71 / 81
72 Sommaire 1 Avant-propos 2 Conception orientée objet 3 Programmation procédurale 4 Programmation orientée objet 5 POO avec Java 72 / 81
73 Java Langage de POO le plus répandu, né en Riche bibliothèque de programmation documentée Plus de 4000 classes, des dizaines de milliers de méthodes! Agréable à lire, simple à comprendre mais pas à utiliser! Cross-platform (Portabilité) : le même programme peut s exécuter sur tous les OS et architectures où l environnement d exécution (JRE) est installé write once, run everywhere = écrivez une seule fois votre programme, exécutez-le sur toutes plates-formes La portabilité est rendue possible grâce à la Machine Virtuelle, qui utilise une représentation intermédiaire du code, le bytecode. 73 / 81
74 Java et son environnement d exécution Environnement d exécution : Java Runtime Environment (JRE) contient la Machine Virtuelle qui exécute votre programme compilé (.class) et grâce à qui la portabilité est possible, le traducteur du bytecode en code machine (à la volée) les binaires des bibliothèques natives de Java dont dépend votre programme. 74 / 81
75 Java et son environnement d exécution Environnement d exécution : Java Runtime Environment (JRE) contient la Machine Virtuelle qui exécute votre programme compilé (.class) et grâce à qui la portabilité est possible, le traducteur du bytecode en code machine (à la volée) les binaires des bibliothèques natives de Java dont dépend votre programme. Environnement de programmation : Java Development Kit (JDK) contient la JRE, le langage Java pour écrire le code source de votre programme, Le compilateur de code source en bytecode (javac), d autres outils de développement, la documentation (javadoc). 75 / 81
76
77 Code source vers bytecode vers code machine Code d abord compilé en bytecode dans la Machine Virtuelle, puis à la volée (juste avant l exécution) en code machine. Machine Virtuelle Compilation Traduction à la volée Code Source Java (.java) Bytecode (.class) Code machine 77 / 81
78 Environnement de développement intégré Integrated Development Environment (IDE) C est une plate-forme logicielle comportant un éditeur sophistiqué et un suite d outils pouvant gérer la programmation en plusieurs langages. Coloration du code, assistance au codage, complétion du code Organisation du code dans une arborescence de fichiers Navigation facile parmi les modules du programme Gestion de version Configuration poussée de la compilation, débogueur Gestion des dépendances, des bibliothèques natives et externes Configuration de l empaquetage du programme pour distribution 78 / 81
79 2 IDE populaires, gratuits et open-source pour Java NetBeans Développé par une communauté supervisée par Sun Architecture robuste. Très utilisé. 79 / 81
80 2 IDE populaires, gratuits et open-source pour Java NetBeans Développé par une communauté supervisée par Sun Architecture robuste. Très utilisé. Eclipse Développé par une communauté supervisée par l Eclipse Foundation C est le plus fourni en fonctionnalités et le plus populaire 80 / 81
81 2 IDE populaires, gratuits et open-source pour Java NetBeans Développé par une communauté supervisée par Sun Architecture robuste. Très utilisé. Eclipse Développé par une communauté supervisée par l Eclipse Foundation C est le plus fourni en fonctionnalités et le plus populaire Architectures modulaires et extensibles Fonctionnalités non natives fournies par des greffons (plug-in) Utiliser l un ou l autre relève d un goût personnel Nous utiliserons l un ou l autre Mais d abord, nous commencerons par un simple éditeur de texte / 81
TP1 : 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é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étailJava c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
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étailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
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é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étail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
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é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é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é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é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étailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
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é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é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é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é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 intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
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étailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
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étailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
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étailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailProgrammation Orientée Objet
Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 16 Responsable
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étailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
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é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étailJava c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailLangage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
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étail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailProgrammation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Plus en détailEclipse atelier Java
Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer
Plus en détailÉ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é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étailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
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étailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
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é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é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é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étailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détail3IS - Système d'exploitation linux - Programmation système
3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des
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é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étailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
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é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étailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailUML et les Bases de Données
CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
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é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étailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailLa technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
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é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étailVulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Plus en détailIntroduction à l héritage en C++
Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
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é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étailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
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é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étailS T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski
S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins
Plus en détailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
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étailPolycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5
UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques
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é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étailRapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon
L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal
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étailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détail