Programmation Objet. Cours 1



Documents pareils
Cours 1: Java et les objets

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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

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

Initiation à JAVA et à la programmation objet.

TP1 : Initiation à Java et Eclipse

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

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

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

Programmation Objet Java Correction

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

INITIATION AU LANGAGE JAVA

Java c est quoi? Java pourquoi?

Programmer en JAVA. par Tama

Java 1.5 : principales nouveautés

Programmation en Java IUT GEII (MC-II1) 1

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

Une introduction à Java

Chapitre I Notions de base et outils de travail

Auto-évaluation Programmation en Java

TP1. Outils Java Eléments de correction

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

Programmation par les Objets en Java

Remote Method Invocation en Java (RMI)

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

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Utiliser Java sans BlueJ

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

TP, première séquence d exercices.

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

as Architecture des Systèmes d Information

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

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

Package Java.util Classe générique

Java - la plateforme

Remote Method Invocation (RMI)

Java Licence Professionnelle CISII,

Machines Virtuelles. et bazard autour. Rémi Forax

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

Java Licence Professionnelle CISII,

Traitement de données

Évaluation et implémentation des langages

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

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Java Licence professionnelle CISII,

Programmation Orientée Objet

Langage Java. Classe de première SI

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

PROGRAMMATION PAR OBJETS

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

Chapitre 2. Classes et objets

Programmation. fonctionnelle, impérative, logique et orientée objet

Présentation du langage et premières fonctions

Java au cœur de la base de données Oracle

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

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

Systeme d'exploitation

Flux de données Lecture/Ecriture Fichiers

ACTIVITÉ DE PROGRAMMATION

Derrière toi Une machine virtuelle!

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

Programmation Orientée Objet

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

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

Java DataBaseConnectivity

Exercices sur les interfaces

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

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

Utilisation d objets : String et ArrayList

TD/TP PAC - Programmation n 3

COMPARAISONDESLANGAGESC, C++, JAVA ET

Annexe : La Programmation Informatique

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Bases Java - Eclipse / Netbeans

RMI le langage Java XII-1 JMF

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

F. Barthélemy. 17 mai 2005

TP1 : Initiation à Java et Eclipse

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

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Synchro et Threads Java TM

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

Chapitre VI- La validation de la composition.

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Programmation Orientée Objet

Chapitre 10. Les interfaces Comparable et Comparator 1

Cours d Algorithmique et de Langage C v 3.0

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)

Corrigés des premiers exercices sur les classes

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

Introduction à NetCDF

Apprendre Java en 154 minutes

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

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

Transcription:

Programmation Objet. Cours 1 Marie-Pierre Béal UPEM DUT 1 Programmation objet. Classes et objets.

Principaux styles de programmation Style impératif Fondé sur l exécution d instructions modifiant l état de la mémoire. Utilise une structure de contrôle et des structures de données. Usage intensif de l itération. Langages typiques : Fortran, C, Pascal.

Principaux styles de programmation Style applicatif Fondé sur l évaluation d expressions, où le résultat ne dépend que de la valeurs des arguments (et non de l état de la mémoire). Donne programmes courts, faciles à comprendre. Usage intensif de la récursivité. Langage typique : Lisp, Caml.

Principaux styles de programmation Style objet Un programme est vu comme une communauté de composants autonomes (objets) disposant de ses ressources et de ses moyens d interaction. Utilise des classes pour décrire les structures et leur comportement. Usage intensif de l échange de messages. Langages typiques : C++, Java, Ruby, Python.

Principaux styles de programmation Souvent un même langage permet différents styles de programmation.

Avantages du style objet Facilite la programmation modulaire La conception par classes conduit à des composants réutilisables. Un composant offre des services et en utilise d autres. Les services sont exposés à travers une interface. Les détails d implémentations sont cachés (encapsulation). Les composants sont réutilisables.

Avantages du style objet Abstraction et spécialisation L abstraction sépare la définition de son implémentation. L abstraction extrait un modèle commun à plusieurs composants. Le modèle commun est partagé par le mécanisme d héritage. La spécialisation traite de cas particuliers. Le mécanisme de dérivation rend les cas particuliers transparents.

Java Java (nom dérivé de Kawa) a vu le jour en 1995. Actuellement version JDK 1.8 (aussi appelée Java 8). Distributions et spécifications Oracle : Java SE, Java ME, Java EE. est fortement typé, est orienté objet, est compilé interprété, est sans héritage multiple, à partir de la version 1.5, Java offre de la généricité (les generics sont différents des template du C++)

Premier exemple On écrit le code source java suivant dans le fichier HelloCharlie.java : class HelloCharlie { public static void main (String[] args) { System.out.println("Bonjour Charlie"); On compile avec javac HelloCharlie.java On lance l exécution (l interprétation du bytecode) par la machine virtuelle Java avec java HelloCharlie $ javac HelloCharlie.java $ ls HelloCharlie.class HelloCharlie.java $ java HelloCharlie Bonjour Charlie

Autre exemple On écrit ce code source java suivant dans le fichier AdditionTest.java : class AdditionTest { public static void main (String[] args) { int n = 100; int m = 200; System.out.println(n + m); On compile avec javac AdditionTest.java On lance l exécution avec java AdditionTest, on obtient 300.

Les objets Un objet est un composant situé dans une zone mémoire. On le manipule par son adresse appelée référence. p1 p2 20 3 4 10 class Test { public static void main (String[] args) { Pixel p1 = new Pixel(20,3); Pixel p2 = new Pixel(4,10);

Les classes Une classe définit la structure de l objet, définit le comportement de l objet (par les méthodes), définit le moule pour la création des objets, permet de déclarer un nouveau type.

Les classes Une classe est composée de déclarations de variables (attributs ou champs); définitions de fonctions (méthodes); (déclarations d autres classes (nested classes)). On écrit chaque classe dans un fichier séparé qui a comme nom Pixel.java si la classe se nomme Pixel. Le nom est en majuscule. class Pixel { int x; int y;

Les méthodes Les noms des méthodes commencent par une minuscule. class Pixel { int x; int y; void printx(){ System.out.println(x); void move(int dx, int dy){ x = x + dx; y = y + dy;

Les constructeurs Les constructeurs permettent la création des objets par new. Son type de retour est void sans l écrire. class Pixel { int x; int y; void printx(){ System.out.println(x); void move(int dx, int dy){ x = x + dx; y = y + dy; Pixel(int x0, int y0) { x = x0; y = y0;

Utilisation des classes et objets Dans une autre classe PixelTest, on fabrique et utilise des points. On appelle une méthode sur un objet avec le symbole. class PixelTest { public static void main (String[] args) { Pixel p1 = new Pixel(20,3); Pixel p2 = new Pixel(5,12); p1.printx(); p2.move(1,1); p2.printx();

Utilisation des classes et objets p1 p2 x : 20 y : 3 x : 5 y : 12 $ java PixelTest 20 6

Utilisation de this Le mot clé this est utilisé pour désigner une référence sur l objet courant dans une classe. class Pixel { int x; int y; Pixel(int x, int y) { this.x = x; this.y = y;