Support de cours et TD Programmation Orientée Objet

Dimension: px
Commencer à balayer dès la page:

Download "Support de cours et TD Programmation Orientée Objet"

Transcription

1 REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Institut Supérieur des Etudes Technologiques de Médenine Département Informatique Support de cours et TD Programmation Orientée Objet Niveau : TI2 Elaboré par : BOUABID Mohamed Année universitaire :

2 Objectifs du cours : Ce cours permet à l étudiant d acquérir les connaissances nécessaires pour écrire des programmes orientés objets. Objectifs spécifiques : Comprendre les concepts de base de la programmation orientée objet. Implémenter des classes d objets : créer une classe en précisant ses propriétés et ses opérations et leur visibilité, et en définissant ses constructeurs Comprendre le principe d héritage. Comprendre le principe du polymorphisme Comprendre les notions d interfaces et des classes abstraites. Comprendre le mécanisme de gestion des exceptions Pré-requis : Programmation, algorithmique et structure de données. Bibliographie Livres de référence o Programmer en Java de Claude Delannoy aux éditions Eyrolles o Penser en Java, Seconde édition de Bruce Eckel Note de cours «Apprentissage du langage Java», Serge Tahé - ISTIA - Université d'angers Autre ouvrage sur Java o Programmation JavaTM pour les enfants, les parents et les grandsparents, Yakov Fain (c est un livre électronique) p. 2

3 Table des matières Introduction à la Programmation Orientée Objet De la programmation classique vers la programmation orientée objet Notions de base de la POO Notion d'objet Notion de classe Notion d encapsulation Les langages orientés objet... 9 Syntaxe de base du langage Java Les données de Java Les variables a) Les noms de variables b) Les types de base de Java c) Déclarer une variable Les Constantes Tableaux et matrices Chaînes de caractères L instruction d affectation Opérateurs et expressions Expression arithmétique Expressions relationnelles Expressions booléennes Combinaison d'opérateurs Opérateurs d'incrémentation et de décrémentation L'opérateur? Structures de contrôle Instruction conditionnelle : if Instruction conditionnelle : switch Itérations : while, do...while et for Commentaires Classes et objets Structure d un programme autonome Java p. 3

4 3.2. Package objets et classes Généralités Accès au membre d une classe L'opérateur new Le mot clé this Un programme de test Les constructeurs de classe Les méthodes de lecture et d'écriture des attributs privés Les méthodes et attributs de classe Héritage La notion d'héritage Accès d une classe dérivée aux membres de sa classe de base Construction et initialisation des objets dérivés La notion de redéfinition et surdéfinition de méthodes Redéfinition Surdéfinition Le polymorphisme Concept de polymorphisme Exemple et interprétations Les conversions explicites de références Les classes abstraites et les interfaces Les classes abstraites Concept des abstraites a) Syntaxe b) Utilisation c) Remarques d) Exemple Les interfaces Concept d interface a) Définitions d une interface b) Implémentation d une interface c) Exemple d) Interface et constantes p. 4

5 e) Remarques Les exceptions Traitement des exceptions Les exceptions prédéfinies Les exceptions personnalisées Travaux dirigés p. 5

6 Chapitre 1 Introduction à la Programmation orientée Objet Chapitre 1 Introduction à la Programmation Orientée Objet 1. De la programmation classique vers la programmation orientée objet Les premiers programmes informatiques étaient généralement constitués d une suite d instructions s exécutant de façon linéaire (l exécution commence de la première instruction du fichier source et se poursuivait ligne après ligne jusqu à la dernière instruction du programme). Cette approche, bien que simple à mettre en œuvre, a très rapidement montré ses limites. En effet, les programmes monolithiques de ce type : ne se prêtent guère à l écriture de grosses applications et ne favorisent absolument pas la réutilisation du code. En conséquence est apparue une autre approche radicalement différente : l approche procédurale. L approche procédurale (classique) consiste à découper un programme en un ensemble de fonctions (ou procédures). Ces fonctions contiennent un certain nombre d instructions qui ont pour but de réaliser un traitement particulier. Exemples de traitements qui peuvent être symbolisés par des fonctions : Le calcul de la circonférence d un cercle l impression de la fiche de paie d un salarié etc. Dans le cas de l approche procédurale, un programme correspond à l assemblage de plusieurs fonctions qui s appellent entre elles. Bloc monolithique F2 F1 P1 Fonctions et procédures F3 P2 P3 Exemple de langages de programmation procédurale : C, Pascal, Ada, Cobol, Fortran, etc. L approche procédurale favorise : La création d'un code plus modulaire et structuré La possibilité de réutiliser le même code à différents emplacements dans le programme sans avoir à le retaper p. 6

7 Chapitre 1 Introduction à la Programmation orientée Objet Malgré ses avantages, l approche procédurale présente également des inconvénients : Les fonctions, procédures accèdent à une zone où sont stockées les données. Il y a donc une dissociation entre les données et les fonctions ce qui pose des difficultés lorsque l on désire changer les structures de données. Dans les langages procéduraux, les procédures s appellent entre elles et peuvent donc agir sur les mêmes données.il ya donc un risque de partage des données (écriture en même temps dans le même le fichier). De ces problèmes sont issus une autre manière de programmer : la programmation par objet. L approche orientée objet (Début des années 80). Selon cette approche, un programme est vu comme un ensemble d entités (ou objets). Au cours de son exécution, ces entités collaborent en s envoient des messages dans un but commun. Objet 1 Objet 2 Objet 3 Nous avons dans ce schéma un lien fort entre les données et les fonctions qui y accèdent. Mais qu appelle-t-on un objet? Que représente un objet? 2. Notions de base de la POO 2.1 Notion d'objet Un objet est une entité caractérisée par : Une identité : L identité d un objet permet de distinguer l objet par rapport aux autres. Un état interne : correspond aux valeurs de tous les attributs à un instant donné. Un comportement : se défini par l ensemble des opérations qu il peut exécuter en réaction aux messages envoyés (un message = demande d exécution d une opération) par les autres objets. Exemple : l objet «employe» Dans une entreprise, un employé toto (son matricule 100 permet son identification unique dans l entreprise), est employé sur un poste de technicien dans la société X située à Tunis. p. 7

8 Chapitre 1 Introduction à la Programmation orientée Objet Son état est caractérisé par l ensemble des valeurs de ses attributs. Matricule : 100 nom : TOTO qualification : Technicien Lieu de travail : Tunis Son comportement est caractérisé par les opérations qu il peut réaliser : entrer/sortir de la société changer de qualification changer de lieu de travail Bref, l ensemble des opérations pouvant affecter ses attributs. Un objet est caractérisé par des : Des attributs : des variables représentant l'état de l'objet Des méthodes : fonctions ou procédure décrivant son comportement. 2.2 Notion de classe Certains objets présentent les mêmes caractéristiques. Ils ont des identités différents mais : Un état défini sur les mêmes propriétés Un comportement similaire Exemple : employe Ali Ingénieur & employe Mohamed technicien «employe1» et «employe 2» sont caractérisés par les mêmes propriétés (matricule, nom, qualification) mais associés à des valeurs différents. Ils ont la même comportement (entrer/sortir de la société, changer de qualification.) mais ont des identités différentes. Et il en serait de même pour tous les employés. Tous les employés obéissent à un même schéma. On peut donc en abstraire un modèle. En POO, un tel modèle est appelé classe. Une classe regroupe un ensemble d'objet qui possède une structure identique (liste des attributs) et un même comportement (liste des opérations). Un objet est une instance d une classe. Exemple : La classe <<Employe>> Employe -matricule -nom -qualification -entrer() -changerposte() -changerlieutravail() p. 8

9 Chapitre 1 Introduction à la Programmation orientée Objet 2.3 Notion d encapsulation Si l on reprend l exemple précédent, la classe est l employé, l instance de classe (l objet) est l employé 100, TOTO, Par rapport à une approche «classique» que l on peut observer dans la programmation procédurale, l approche objet se caractérise par le regroupement dans une même classe de la description des attributs et des opérations (méthodes). Ce regroupement s appelle l encapsulation. On masque l information au monde extérieur. L état interne est visible donc de l objet seul. Comment accéder ou modifier l état interne de l objet?en utilisant deux types de messages : Accesseur : accéder à la valeur d un attribut Modificateur : modifier la valeur d un attribut Exemple : accesseur «nom» employe1 Matricule : 100 Nom : Ali Qualification : ingénieur Nom Ali 3. Les langages orientés objet Un langage est orienté objet s il possède les mécanismes supportant le style de programmation orientée objet. Il ya plusieurs langages de programmation OO actuellement : Java, c++, c#, PHP, etc. Nous allons nous intéresser dans la suite de ce cours au langage java. Java est un langage développé par SunMicrosystems (racheté par oracle en 2009) en La particularité de ce langage est qu'il a été conçu directement comme un langage de programmation orienté objets contrairement au C++ ou l'aspect n'est qu'une extension du C. Java est aussi caractérisé par le faite qu'il est un langage portable : l'utilisateur peut développer un sous windows et l'exécuter sous des environnements et architectures diverses tels que MacOS, Linux et bien d'autres. p. 9

10 Chapitre 2 Syntaxe de base du langage Java Chapitre 2 Syntaxe de base du langage Java Nous traitons Java d'abord comme un langage de programmation classique. Nous aborderons les objets ultérieurement, dans les chapitres suivants. Dans un programme on trouve : des données les instructions qui les manipulent 2.1. Les données de Java Les variables Une variable est caractérisée par : un Nom : permet de repérer l emplacement mémoire dans lequel la valeur est placée. un Type : détermine la façon dont est traduite la valeur en code binaire ainsi que la taille de l emplacement mémoire. a) Les noms de variables Les identificateurs ne peuvent commencer que par une lettre, un souligné ( _ ) ou un dollar ( $ ). Les caractères suivants peuvent être des lettres ou des chiffres. Exemples : nom,_nom $nom Note : Il convient de réserver des noms commençant par une majuscule aux classes. Les noms composés sont sous la forme NomCompose ou bien nomcompose, et de façon générale, on conseille de nommer les variables et méthodes de façon parlante. Exemple : classes : Personne, Livre, Matière, etc. nom composé : datedenaissance b) Les types de base de Java Il faut préciser le type des variables utilisées. Dans chaque langage, il existe un nombre de types prédéfinis. Ces types sont dits simples, car, à un instant donné, une variable de type simple ne peut contenir qu une et une seule valeur. Remarque : Nous rencontrerons par la suite des types structurés qui permettent le stockage, sous un même nom de variable, de plusieurs valeurs de même type ou non. Il s agit des tableaux, des classes, des vecteurs, etc. Les types simples en Java sont les suivants : Caractères : le type caractère est char. Il est représenté sur 16 bits. Booléens : le type booléen est boolean. Les deux seules valeurs qu il peut prendre sont true et false. p. 10

11 Chapitre 2 Syntaxe de base du langage Java Entiers : Ils sont très similaires à ceux du langage C. Les 4 types d entiers sont : o byte => entier sur 8 bits { o short => entier sur 16 bits { o int => entier sur 32 bits o long => entier sur 64 bits Réels : Il n y a que deux types de réels en Java : o float=> représenté sur 32 bits o double=> représenté sur 64 bits Remarque : En langage Java, toute valeur numérique réelle est définie par défaut en double précision (type double). Par conséquent, la lettre d (ou D) placée en fin de valeur n est pas nécessaire. Par contre, dès que l on utilise une variable float, la lettre f (ou F) est indispensable, sous peine d erreur de compilation. Java est un langage très rigoureux sur le typage des données. Il est interdit d affecter à une variable la valeur d une variable d un type différent si cette seconde variable n est pas explicitement transformée. Par exemple : int a; double b = 5.0; a = b; est interdit et doit être écrit de la manière suivante : int a ; double b = 5.0 ; a = (int)b ; c) Déclarer une variable En déclarant une variable, le programmeur donne le type et le nom de la variable. Syntaxe : type nomdevariable; ou type nomdevariable1, nomdevariable2; Exemples : int test; char choix, temp; Remarque : Les instructions de déclarations peuvent être placées indifféremment au début ou en cours de programme Les Constantes Une constante est une variable dont la valeur est inchangeable lors de l'exécution d'un programme. En Java, le mot clé final permet de définir une variable dont la valeur ne peut pas être modifiée après son initialisation. p. 11

12 Chapitre 2 Syntaxe de base du langage Java Par convention, le nom des constantes est toujours en majuscules afin de les distinguer sans équivoques des variables. La tentative de modifier une constante dans le programme entraînera une erreur lors de la compilation Exemple : final int CODE = 1234; final float PI =3.14f ; final char VOYELLE = 'a'; final char TABULATION = '\t'; final char RETOUR_ALA_LIGNE= '\n'; 2.2. Tableaux et matrices Une variable est déclarée comme un tableau dès lors que des crochets sont présents soit après son type, soit après son identificateur. Les deux syntaxes suivantes sont acceptées pour déclarer un tableau d entiers (même si la première, non autorisée en C, est plus intuitive) : int[] mon_tableau; int mon_tableau2[]; Un tableau a toujours une taille fixe qui doit être précisée avant l affectation de valeurs à ses indices, de la manière suivante : int[] mon_tableau = new int[20]; De plus, la taille de ce tableau est disponible dans une variable length appartenant au tableau et accessible par mon_tableau.length. On peut également créer des matrices ou des tableaux à plusieurs dimensions en multipliant les crochets (ex : int[][] ma_matrice ;). À l instar du C, on accède aux éléments d un tableau en précisant un indice entre crochets (mon_tableau[3] est le quatrième entier du tableau) et un tableau de taille n stocke ses éléments à des indices allant de 0 à n Chaînes de caractères Les chaînes de caractères ne sont pas considérées en Java comme un type primitif ou comme un tableau. On utilise une classe particulière, nommée String, fournie dans le package java.lang. Une chaine de caractère se déclare normalement de la manière suivante : String s1 = new String(); //pour une chaîne vide String s2 = new String( hello world ); // pour une chaîne de valeur hello world Comme les strings sont un type de données très utilisé, java permet une déclaration très simple : String s2 = hello world ; p. 12

13 Chapitre 2 Syntaxe de base du langage Java Java dispose d une classe standard nommée String, permettant de manipuler des chaînes de Caractères. La classe String est riche d'attributs et méthodes. En voici quelques-uns : boolean equals(object anobject) : Comparaison des chaines: (chaine1.equals(chaine2) rend vrai si chaine1=chaine2, faux sinon) String substring(int beginindex, int endindex): extraction des sous chaines () int length() : longueur d'une chaine etc L instruction d affectation Syntaxe : Variable = Valeur; Ou : Variable = expression mathématique; Exemples : n = 4; p = 5*n+1; 2.5. Opérateurs et expressions Expression arithmétique Les opérateurs des expressions arithmétiques sont les suivants : + addition - soustraction * multiplication / division. Exemples : 5/2 vaut 2 et 5.0/2 vaut 2.5. % reste de la division. Priorités dans l'évaluation des expressions arithmétiques La priorité des opérateurs lors de l'évaluation d'une expression arithmétique est la suivante (du plus prioritaire au moins prioritaire) : [ ( )],[ *, /, %], [+, -] Les opérateurs d'un même bloc [ ] ont même priorité Expressions relationnelles Les opérateurs sont les suivants : <, <=, == (égal),= (différent), >, >= Expressions booléennes Les opérateurs sont & (and) (or) et! (not). Le résultat d'une expression booléenne est un booléen Combinaison d'opérateurs a=a+b peut s'écrire a+=b a=a-b peut s'écrire a-=b Il en est de même avec les opérateurs /, %,* Ainsi a=a+2; peut s'écrire a+=2; p. 13

14 Chapitre 2 Syntaxe de base du langage Java Opérateurs d'incrémentation et de décrémentation La notation variable++ signifie variable=variable+1 ou encore variable+=1 La notation variable-- signifie variable=variable-1 ou encore variable-= L'opérateur? L'expression cond? expr1:expr2 est évaluée de la façon suivante : si -sinon) :si cond alors expr1 sinon expr Structures de contrôle Instruction conditionnelle : if Elle permet d exécuter des instructions de manière sélective, en fonction du résultat d un test. Syntaxe : if (expression) instruction1 if (expression) instruction1 else instruction Instruction conditionnelle : switch Elle permet de choisir un bloc d instruction selon la valeur d une expression entière : Syntaxe : switch (expression) { case cste1 : instruction1; break ; case cste2 : instruction2; break ;... case csten : instructionn ;break ; default : instructiondefaut Itérations : while, do...while et for La structure de contrôle while évalue une condition et exécute l instruction tant que cette condition reste vraie. Syntaxe : while (condition) instruction Exemple : int i=10; while (i>=0) { System.out.println(i); i=i-1; L instruction do...while est une variante de la précédente. Une itération est toujours exécutée. p. 14

15 Chapitre 2 Syntaxe de base du langage Java Syntaxe : do instruction while (condition) Exemple : int i=-1; do { System.out.println(i); i=i-1; while (i>=0); Enfin, l instruction for qui comporte une initialisation, une condition d arrêt, et une ou des instructions de fin de boucle : Syntaxe : for (instruction1;condition_de_poursuite;instruction2) instruction ; Exemple : for (int i=0;i<50;i++) System.out.println(i); 2.7. Commentaires Java reconnait trois types de commentaires : les commentaires sur une ligne : tous les caractères suivants //... jusqu à la fin de la ligne sont ignorés Exemple : int a ; // ce commentaire tient sur une ligne int b ; les commentaires multi-lignes : tous les caractères entre /*... et...*/ sont ignorés Exemple : /*Ce commentaire nécessite 2 lignes*/ int a ; les commentaires de documentation : quand ils sont placés juste avant une déclaration, les caractères entre /**...et...*/ sont inclus dans une documentation générée automatiquement par l utilitaire javadoc. p. 15

16 Chapitre 3 Classes et Objets Chapitre 3 Classes et objets 3.1. Structure d un programme autonome Java Un programme écrit en Java consiste en un ensemble de classes représentant les éléments manipulés dans le programme et les traitements associés. L'exécution du programme commence par l'exécution d'une classe qui doit implémenter une méthode particulière public static void main(string[] args). Les classes implémentant cette méthode sont appelées classes exécutables. Exemple : Une classe Java Bonjour qui affiche la chaîne de caractères Bonjour s'écrit : // Fichier Bonjour.java public class Bonjour { public static void main(string[ ] args) { System.out.println("Bonjour!\n"); Dans ce premier programme très simple, une seule classe est utilisée. Cependant, la conception d'un programme orienté-objet nécessite, pour des problèmes plus complexes, de créer plusieurs classes et la classe exécutable ne sert souvent qu à instancier les premiers objets. L argument "args" est un tableau de chaines de caractères qui correspond aux arguments de la ligne de commande lors du lancement du programme. Si la classe avait été exécutée par la ligne de commande "java HelloWorld 4 toto ", ce tableau contiendrait 2 éléments dont les valeurs seraient respectivement "4" et "toto" Package Java dispose d'un grand nombre de classes qui implémentent des données et des traitements génériques utilisables par un grand nombre d applications. Ces classes forment l API (Application Programming Interface) du langage Java et sont organisées en packages (ou bibliothèques) dédiés à un thème précis. Parmi les packages les plus utilisés, on peut citer les suivants : Package java.awt java.io java.lang java.util javax.swing Description Classes de gestion d interfaces graphiques Gestion des entrées/sorties contient les classes standards (de base) telles que les classes String ou Math (importé par défaut) Classes utilitaires telles que les classes Date, StringTokenizer (découper une chaine selon des délimiteurs), etc. Autres classes graphiques p. 16

17 Chapitre 3 Classes et Objets Pour accéder à une classe d un package donné, il faut préalablement importer cette classe ou son package. Par exemple, la classe Date appartenant au package java.util qui implémente un ensemble de méthodes de traitement sur une date peut être importée de deux manières : une seule classe du package est importée : import java.util.date; toutes les classes du package sont importées (même les classes non utilisées) : import java.util.*; Le programme suivant utilise cette classe pour afficher la date actuelle : import java.util.date; public class DateMain { public static void main(string[] args) { Date today = new Date(); System.out.println( Nous sommes le + today.tostring()); 3.3. objets et classes Généralités Nous abordons maintenant, par l'exemple, la programmation objet. Un objet est une entité qui contient des données qui définissent son état (on les appelle des attributs ou propriétés) et des fonctions (on les appelle des méthodes). Un objet est créé selon un modèle qu'on appelle une classe : public Class nom_class{ type1 p1; // propriété p1 type2 p2; // propriété p2 type3 m3( ){ // méthode m3 type4 m4( ){ // méthode m4 A partir de la classe C1 précédente, on peut créer de nombreux objets O1, O2, Tous auront les propriétés p1, p2, et les méthodes m3, m4, Ils auront des valeurs différentes pour leurs propriétés pi ayant ainsi chacun un état qui leur est propre. Exemple: Considérons la classe Personne suivante : import java.io.*; public class Personne{ // attributs private String prenom; private String nom; private int age; // méthode public void initialiser(string P, String N, int age){ this.prenom=p; p. 17

18 Chapitre 3 Classes et Objets this.nom=n; this.age=age; // méthode public void identifier(){ System.out.println(prenom+","+nom+","+age); Nous avons ici la définition d'une classe, le nom de la classe représente un nouveau type de donnée. On peut donc définir des variables de ce nouveau type; on dit alors que nous créons des objets ou des instances de classe. Un objet possède tous les attributs et toutes les de fonctions membres de la classe, mais avec des valeurs d attributs qui lui sont propres. Programmation Procédurale VARIABLE TYPE Programmation Orientée-Objet OBJET CLASSE Accès au membre d une classe Les membres d'une classe peuvent être des données ou des méthodes (fonctions). Ces champs peuvent avoir l'un des trois attributs suivants : private: les membres privés ne sont accessible que par les fonctions membres de la classe. protected: les membres protégés sont comme les membres privés. Mais ils sont aussi accessibles par les fonctions membres des classes dérivées (concept d'héritage). Public: les membres publics sont accessibles par tous. La partie publique est appelée interface. L encapsulation consiste à masquer l accès à certains attributs et méthodes d une classe. Elle est réalisée à l aide des mots clé: private, protected. Exemple: La méthode initialiser() Quel est le rôle de la méthode initialiser? Parce que nom, prenom et age sont des données privées de la classe Personne, les instructions suivantes : Personne p1; p1.prenom="ali"; p1.nom="ben Mohamed"; p1.age=30; sont illégales. Il nous faut initialiser un objet de type Personne via une méthode publique. C'est le rôle de la méthode initialiser(). On écrira donc : Personne p1; p1.initialiser("ali","ben Mohamed",30); L'écriture p1.initialiser() est légale car initialiser() est d'accès public. p. 18

19 Chapitre 3 Classes et Objets L'opérateur new La séquence d'instructions : Personne p1; p1.initialiser("ali","ben Mohamed",30); est incorrecte. L'instruction Personne p1; déclare p1 comme une référence à un objet de type Personne. Cet objet n'existe pas encore et donc p1 n'est pas initialisé. C'est comme si on écrivait : Personne p1=null; où on indique explicitement avec le mot clé null que la variable p1 ne référence encore aucun objet. Lorsqu'on écrit ensuite : p1.initialiser("ali","ben Mohamed",30); on fait appel à la méthode initialiser de l'objet référencé par p1. Or cet objet n'existe pas encore et le compilateur signalera l'erreur. Pour que p1 référence un objet, il faut écrire : Personne p1=new Personne(); Cela a pour effet de créer un objet de type personne non encore initialisé : les attributs nom et prenom qui sont des références d'objets de type String auront la valeur null, et age la valeur 0. Il y a donc une initialisation par défaut. Maintenant que p1 référence un objet, l'instruction d'initialisation de cet objet p1.initialiser("ali","ben Mohamed",30); est valide Le mot clé this Regardons le code de la méthode initialiser : public void initialiser(string P, String N, int age){ this.prenom=p; this.nom=n; this.age=age; L'instruction this.prenom=p signifie que l'attribut prenom de l'objet courant (this) reçoit la valeur P. Le mot clé this désigne l'objet courant : celui dans lequel se trouve la méthode exécutée. p1.initialiser("ali","ben Mohamed",30); La méthode initialiser aurait aussi pu être écrite comme suit : public void initialiser(string P, String N, int age){ p. 19

20 Chapitre 3 Classes et Objets prenom=p; nom=n; this.age=age; Lorsqu'une méthode d'un objet référence un attribut A de cet objet, l'écriture this.a est implicite. On doit l'utiliser explicitement lorsqu'il y a conflit d'identificateurs. C'est le cas de l'instruction : this.age=age; où age désigne un attribut de l'objet courant ainsi que le paramètre age reçu par la méthode. Il faut alors lever l'ambiguïté en désignant l'attribut age par this.age Un programme de test Voici un programme de test : public class TestPersonne{ public static void main(string arg[]){ Personne p1=new Personne(); p1.initialiser("ali","ben Mohamed",30); p1.identifier(); Les constructeurs de classe Le constructeur est une méthode portant le même nom de la classe, qui peut accepter des arguments mais ne rend aucun résultat (même pas void) et qui est appelée lors de la création de l'objet. On s'en sert généralement pour l'initialiser Créons un premier constructeur à notre classe Personne : import java.io.*; public class Personne{ // attributs // Constructeurs Public personne () { Nom="nnondef"; // nnondef : nom non encore défini Prenom="pnondef"; // pnondef : prenom non encore défini age =0; // méthode Voici un programme de test : import java.io.*; public class TestPersonne{ public static void main(string arg[ ]){ p. 20

21 Chapitre 3 Classes et Objets Personne p1=new Personne(); p1.identifier(); Ce programme affiche : nnondef, pnondef, 0. On remarque donc que les instructions définies dans le constructeur ont été exécuté lors de la déclaration de l'objet p1 qui est de type Personne. Si une classe C n'a aucun constructeur, elle en a un par défaut qui est le constructeur sans paramètres : public C(). Les attributs de l'objet sont alors initialisés avec des valeurs par défaut. Une classe peut avoir un ou plusieurs constructeurs. Exemple : Ajoutons un autre constructeur à la classe Personne : import java.io.*; public class Personne{ // attributs // Constructeurs Public personne () { Nom="nnondef"; // nnondef : nom non encore défini Prenom="pnondef"; // pnondef : prenom non encore défini age =0; Public personne (String nom, String prenom, int age) { this.nom=nom; this.prenom=prenom; this.age=age; // méthode Le programme de test suivant : import java.io.*; public class TestPersonne{ public static void main(string arg[]){ Personne p1=new Personne('ben mohamed','ali',20); p1.identifier(); affiche ce qui suit : Ben mohamed, ali, 20 Le constructeur qu'on venait de définir, peut se contenter de faire appel à la méthode initialiser défini précédemment Les méthodes de lecture et d'écriture des attributs privés p. 21

22 Chapitre 3 Classes et Objets Nous rajoutons à la classe Personne les méthodes nécessaires pour lire ou modifier l'état des attributs des objets : public class Personne{ private String prenom; private String nom; private int age; public personne(string P, String N, int age){ this.prenom=p; this.nom=n; this.age=age; public void identifier(){ System.out.println(prenom+","+nom+","+age); // accesseurs public String getprenom(){ return prenom; public String getnom(){ return nom; public int getage(){ return age; //modifieurs public void setprenom(string P){ this.prenom=p; public void setnom(string N){ this.nom=n; public void setage(int age){ this.age=age; Testons donc la nouvelle classe avec le programme suivant : public class TestPersonne{ public static void main(string[] arg){ Personne P=new Personne("Ali","Ben Mohamed",34); System.out.println("P=("+P.getPrenom()+","+P.getNom()+","+P.getAge()+")"); P.setAge(56); System.out.println("P=("+P.getPrenom()+","+P.getNom()+","+P.getAge()+")"); p. 22

Programmer 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) 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étail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour 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étail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure 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étail

Langage 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. 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étail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 +Cours 2 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

Plus en détail

1.Programmation en Java : notions de base, orienté objet et héritage

1.Programmation en Java : notions de base, orienté objet et héritage Travaux pratique de Méthodologie et Langage de Programmation,, TP1 1 1.Programmation en Java : notions de base, orienté objet et héritage Cette séance de TP a pour objectif d'introduire à la programmation

Plus en détail

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15 Tabledesmatières 1 IntroductionaulangageJava 1 1.1 EnvironnementJava... 1 1.1.1 Compilation... 2 1.1.2 Interprétation... 2 1.2 Programmationorientée-objet... 2 1.2.1 Classe... 3 1.2.2 Objet... 4 2 Syntaxedulangage

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

Chapitre 6 Héritage en Java

Chapitre 6 Héritage en Java Chapitre 6: Héritage 1/12 Chapitre 6 Héritage en Java Chapitre 6: Héritage 2/12 1. Généralités L'héritage est le troisième des paradigmes de la programmation orientée objet (le 1 er étant l'encapsulation,

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à 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étail

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30 INF 103 Langage JAVA Contrôle du 7 janvier 2015 Durée : 1h30 Nom : Prénom : Casier : Groupe :........ Écrire les réponses directement sur les feuilles du sujet dans les cases prévues à cet effet. Le barème

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques et d Informatique Module : POO Java Semestre : S5 Complément d exercices avec correction

Plus en détail

POO 1/3 - Introduction à la Programmation Orientée Objet. Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.

POO 1/3 - Introduction à la Programmation Orientée Objet. Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2. POO 1/3 - Introduction à la Programmation Orientée Objet Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.fr Sommaire Les Langages de Programmation Premier Programme Les Objets Objets

Plus en détail

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException...

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... Cours 12 Les exceptions vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... F.Gayral 1 Les exceptions, vous connaissez... public class

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION 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étail

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Précis de vocabulaire Orienté Objet

Précis de vocabulaire Orienté Objet Dernière Mise à jour : Mars 2007 Précis de vocabulaire Orienté Objet 1 Questions Expliquer et donner un exemple pour chacun des concepts suivants 1. Qu'est-ce qu'un objet? 2. Qu'est-ce qu'une classe? 3.

Plus en détail

Programmer avec les exceptions en Java

Programmer avec les exceptions en Java Programmer avec les exceptions en Java Premier Cycle Cours Eurinsa 2002 (c) P.Pollet 05/12/2002 Java 2001 (PP) 1 Plan Gestion traditionnelle des erreurs d exécution Qu est-ce qu une exception? La classe

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 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étail

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Les exceptions en Java

Les exceptions en Java Chapitre 6 Les exceptions en Java Lorsqu on conçoit un programme, on essaie évidemment qu il soit correct, c est-à-dire qu il fonctionne parfaitement dans les conditions prévues de son utilisation. L utilisateur

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 7 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Facult e des Sciences - Univ. Artois Janvier 2011 Exceptions

Plus en détail

TP 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 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étail

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

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 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étail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

Plus en détail

Chapitre 2. Classes et objets

Chapitre 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étail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage 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étail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Cours 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. 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étail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Syntaxe du langage JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Syntaxe du langage JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Syntaxe du langage JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Structure du langage Les types primitifs boolean(true/false), byte (1 octet), char (2 octets), short (2 octets), int (4 octets),

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

Programmation PHP Septembre 2010

Programmation PHP Septembre 2010 IFT1147 Programmation Serveur Web avec PHP Plan La POO en PHP Lecture du chapitre 20. Programmation par objets Introduction à la POO Objets et classes Propriétés Méthodes Private Héritage Polymorphisme

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Cours1 +Cours 2 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

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

Plus en détail

Langage Élémentaire Algorithmique Spécifications du langage

Langage Élémentaire Algorithmique Spécifications du langage Langage Élémentaire Algorithmique Spécifications du langage Lionel Clément Version provisoire Novembre 2012 Le but de ce projet est de livrer un compilateur pour un langage élémentaire algorithmique (Léa).

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Introduction au langage C

Introduction 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étail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java HLIN406 - Janvier 2015 Le Java Development Kit offre un ensemble d outils de développement d applications Java. Pour utiliser ces outils, JDK ne propose pas d interface utilisateur, on doit donc écrire

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers 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étail

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3)

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3) Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Classes et objets en Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java 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étail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 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étail

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Licence 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étail

Types de données et objets

Types de données et objets Types de données et objets VL A D Y RA V E L O M A N A N A Licence 1 S2 Université Denis Diderot (P7). vlad@liafa.jussieu.fr LIAFA Bureau 6A13. 175, rue Chevaleret Ravelomanana Vlady Types de données et

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

Cours 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 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étail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan 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étail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Programmation orientée objets

Programmation orientée objets POO : mais pourquoi? La Programmation Orientée Objets (POO) a pour but final de faciliter le débogage, la maintenance et la mise à jour d'applications complexes. C++, Java et Scala sont des exemples de

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

as Architecture des Systèmes d Information

as 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étail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

Le mécanisme d exception du langage Java

Le mécanisme d exception du langage Java Le mécanisme d exception du langage Java 1 / 39 Plan 1 Introduction aux exceptions en Java 2 Exemples de code avec gestion des exceptions 3 Créer ses propres exceptions 4 Instruction try/catch/finally

Plus en détail

L héritage Encore un petit topo des familles. Je pense qu'avec ce genre de chapitre, ce n'est pas du luxe...

L héritage Encore un petit topo des familles. Je pense qu'avec ce genre de chapitre, ce n'est pas du luxe... L héritage Encore un petit topo des familles. Je pense qu'avec ce genre de chapitre, ce n'est pas du luxe... Une classe hérite d'une autre classe par le biais du mot clé extends. Une classe ne peut hériter

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

Plus en détail

Une classe est une sorte de type de données définie par le programmeur Variables peuvent être de type classe

Une classe est une sorte de type de données définie par le programmeur Variables peuvent être de type classe Classe, Objet Variables locales Niveaux de visibilité (Encapsulation) Attributs et Méthodes Statiques Surcharge des Méthodes Transmission des Paramètres Paquetage Classes pour les types de base POO 1 Une

Plus en détail

Encapsulation. 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. 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étail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence 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étail

Gé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. 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étail

PARADIGME ORIENTÉ-OBJET

PARADIGME ORIENTÉ-OBJET PARADIGME ORIENTÉ-OBJET A programming paradigm that uses objects to design systems. Sébastien Adam Une introduction des concepts de base 2 Principes fondamentaux Modularité : vise à répartir les opérations

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir Consignes pour le bons déroulement du devoir - Ce document comporte un QCM et une partie où il faut écrire du code en - Marquez vos réponses au QCM sur la feuille de réponses fournie (notez que certaines

Plus en détail

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

Plus en détail

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail

Java Licence professionnelle CISI 2009-2010

Java Licence professionnelle CISI 2009-2010 Java Licence professionnelle CISI 2009-2010 Cours 10 : Type générique (c) http://manu.e3b.org/java/tutoriels/avance/generique.pdf 1 Introduction La programmation générique - nouveauté la plus significative

Plus en détail

Java Licence professionnelle CISII, 2009-2010

Java Licence professionnelle CISII, 2009-2010 Java Licence professionnelle CISII, 2009-2010 Cours 5 : l héritage Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett Héritage Introduction - Pour raccourcir les temps d écriture

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 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étail

PROB Introduction au langage JAVA

PROB Introduction au langage JAVA PROB Introduction au langage JAVA EPFC ULB 1 BACHELIER en INFORMATIQUE de Gestion PRMT(1) 120p. LAPR(2) 120p. PR(1) PROB(10) 120p. PR(1) PRDV(4) 40p. PR(2 ou 9) COFI(20) 60p. GBDR(5) 120p. LAOG(9) 120p.

Plus en détail