Révision Les mots réservés de Java. Programmation et Conception Orientées Objet. Révision Interfaces. Révision Les classes

Documents pareils
Programmer en JAVA. par Tama

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

as Architecture des Systèmes d Information

Programmation Orientée Objet 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

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

PROGRAMMATION PAR OBJETS

INF 321 : mémento de la syntaxe de Java

Programmation Orientée Objet

Chapitre 10. Les interfaces Comparable et Comparator 1

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Plan du cours. Historique du langage Nouveautés de Java 7

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Langage Java. Classe de première SI

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Projet de programmation (IK3) : TP n 1 Correction

Corrigé des exercices sur les références

Auto-évaluation Programmation en Java

INITIATION AU LANGAGE JAVA

Héritage presque multiple en Java (1/2)

Une introduction à Java

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Objets et Programmation. origine des langages orientés-objet

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Classe Interne, Anonyme & Enumération

TD/TP PAC - Programmation n 3

Programmation en Java IUT GEII (MC-II1) 1

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

Design patterns. Design patterns - définition. Design patterns - avantages

Cours 1: Java et les objets

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle CISII,

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

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

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Package Java.util Classe générique

Premiers Pas en Programmation Objet : les Classes et les Objets

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Développement Logiciel

TP1 : Initiation à Java et Eclipse

Java Licence Professionnelle CISII,

Programme Compte bancaire (code)

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TD/TP PAC - Programmation n 3

LOG4430 : Architecture logicielle et conception avancée

Programmation avec des objets : Cours 7. Menu du jour

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Programmation Par Objets

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

Programmation par les Objets en Java

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Synchro et Threads Java TM

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

7 Développement d une application de MapReduce

Apprendre Java en 154 minutes

Généralités sur le Langage Java et éléments syntaxiques.

La carte à puce. Jean-Philippe Babau

Un ordonnanceur stupide

TD3: tableaux avancées, première classe et chaînes

Informatique / Programmation

Composants Logiciels. Le modèle de composant de CORBA. Plan

Généricité. en Java. (polymorphisme paramétrique) Philippe GENOUD UJF Janvier

Diagramme de classes

Utilisation d objets : String et ArrayList

Threads. Threads. USTL routier 1

Chapitre VI- La validation de la composition.

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier

Initiation à JAVA et à la programmation objet.

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Introduction : les processus. Introduction : les threads. Plan

Support de cours et TD Programmation Orientée Objet

Remote Method Invocation (RMI)

Environnements de développement (intégrés)

Applet pour visualiser les variables «automate» notifiées

Programmation Orientée Objet application au langage Java Version Novembre 2007

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Création d objet imbriqué sous PowerShell.

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

RMI le langage Java XII-1 JMF

Introduction au langage Java

Remote Method Invocation Les classes implémentant Serializable

OpenPaaS Le réseau social d'entreprise

F. Barthélemy. 17 mai 2005

ACTIVITÉ DE PROGRAMMATION

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Remote Method Invocation en Java (RMI)

Corrigés des premiers exercices sur les classes

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Solutions du chapitre 4

Dis papa, c est quoi un bus logiciel réparti?

Derrière toi Une machine virtuelle!

Java 1.5 : principales nouveautés

Transcription:

Révision Les mots réservés de Java Programmation et Conception Orientées Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 31 août 2017 Gestions des paquets : package import Définitions des classes, interfaces et énumérations : class interface enum Héritage : extends implements Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 1 / 466 Révision Les classes Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 236 / 466 Révision Interfaces class Counter { int counter; Counter(int initialvalue) { counter = initialvalue; void count() { counter++; interface Printer { /** * Imprime la chaîne s. * @param s chaîne à imprimer */ void print(string document); /** * Permet de savoir si l'instance est prête. * @return true si l'instance est prête, false sinon */ boolean isready(); Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 237 / 466 Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 238 / 466

Révision Implémentation d une interface Révision Extension class MyPrinter implements Printer { String name; MyPrinter(String name) { this.name = name; void print(string document) { System.out.println(name+" : "+document); boolean isready() { return true; class MyBracePrinter extends MyPrinter { MyBracePrinter(String name) { super(name); void print(string document) { System.out.println("{"+super.print(document)+""); Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 239 / 466 Révision Polymorphisme Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 240 / 466 Révision Les mots réservés Qu affiche ce programme? public static void main(string args[]) { Printer printer; if (args[0].length()>0) printer = new MyBracePrinter("bracePrinter"); else printer = new MyPrinter("printer"); printer.print("document"); Modificateurs pour les membres et les variables : public protected private static final abstract throws Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 241 / 466 Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 242 / 466

Révision Modification de la visibilité Révision Données et méthodes statiques Classe Paquet Extension Extérieur Private Default Protected Public Les méthodes et des données statiques sont associées à la classe et non aux instances de la classe : class Counter { private static int counter = 0; static void count() { counter++; static int value() { return counter; Un exemple d utilisation de la classe précédente : System.out.println(Counter.value()); Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 243 / 466 Classes abstraites Une classe est abstraite si des méthodes ne sont pas implémentées : public abstract class List { private int[] list = new int[10]; private int size = 0; public void add(int value) { list[size] = value; size++; public int eval() { int result = neutral(); // utilisation d'une méthode abstraite for (int i = 0; i < size; i++) result = compute(result, list[i]); // idem return result; public abstract int neutral(); // méthode abstraite public abstract int compute(int a, int b); // idem Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 244 / 466 Classes abstraites et extension Évidemment, il n est pas possible d instancier une classe abstraite : List list = new List(); // erreur System.out.println(list.eval()) // car que faire ici? Nous allons étendre la classe List afin de récupérer les propriétés et les méthodes de List et définir le code des méthodes abstraites : public class ListSum extends List { public int neutral() { return 0; public int compute(int a, int b) { return a+b; La classe ListSum n est plus abstraite, toutes ses méthodes sont définies : ListSum listsum = new ListSum(); listsum.add(3); listsum.add(7); System.out.println(listSum.eval()); Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 245 / 466 Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 246 / 466

Classes abstraites et extension Évidemment, il n est pas possible d instancier une classe abstraite : List list = new List(); // erreur System.out.println(list.eval()) // car que faire ici? Nous allons étendre la classe List afin de récupérer les propriétés et les méthodes de List et définir le code des méthodes abstraites : public class ListProduct extends List { public int neutral() { return 1; public int compute(int a, int b) { return a*b; La classe ListSum n est plus abstraite, toutes ses méthodes sont définies : ListProduct listproduct = new ListProduct(); listproduct.add(3); listproduct.add(7); System.out.println(listProduct.eval()); Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 247 / 466 Révision Les mots réservés et les types simples Révision Les mots réservés dans le code if/else for do/while switch/case/default continue/break try/catch/finally throw return new null false true this super instanceof Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 248 / 466 Révision Les types primitifs boolean byte char short int long double float void byte entier 8 bits -128 à 127 0 short entier 16 bits -32768 à 32767 0 int entier 32 bits 2 31 à 2 31 1 0 long entier 64 bits 2 63 à 2 63 1 0 float flotant 32 bits 0.0 double flotant 64 bits 0.0 char caractère 16 bits caractères Unicode \u0000 boolean boolean 1 bit false ou true false int intvalue = 12; double doublevalue = 13.5; boolean booleanvalue = true; Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 249 / 466 Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 250 / 466

Révision Les autres mots réservés assert goto native assert strictfp volatile transient synchronized Bertrand Estellon (DII AMU) Prog. et Conception Orientées Objet 31 août 2017 251 / 466