2. Comprendre les définitions de classes



Documents pareils
4. Groupement d objets

Utiliser Java sans BlueJ

Programmer en JAVA. par Tama

Programmation en Java IUT GEII (MC-II1) 1

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

as Architecture des Systèmes d Information

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

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

Premiers Pas en Programmation Objet : les Classes et les Objets

Programmation avec des objets : Cours 7. Menu du jour

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

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

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

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

Java Licence Professionnelle CISII,

Introduction au langage C

1/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)

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

TP1 : Initiation à Java et Eclipse

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

Gestion distribuée (par sockets) de banque en Java

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

Un ordonnanceur stupide

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

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

STAGE IREM 0- Premiers pas en Python

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

Utilisation d objets : String et ArrayList

Auto-évaluation Programmation en Java

Cours 1: Java et les objets

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

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

Bases Java - Eclipse / Netbeans

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

Solutions du chapitre 4

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Algorithmique et Programmation, IMA

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

Une introduction à Java

Corrigé des exercices sur les références

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

Programmation Par Objets

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Programmation par les Objets en Java

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Langage Java. Classe de première SI

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


Claude Delannoy. 3 e édition C++

Cours de Systèmes d Exploitation

Threads. Threads. USTL routier 1

Définition des Webservices Ordre de paiement par . Version 1.0

TP, première séquence d exercices.

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Chapitre 10. Les interfaces Comparable et Comparator 1

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

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Java c est quoi? Java pourquoi?

.NET - Classe de Log

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

Traduction des Langages : Le Compilateur Micro Java

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

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Arbres binaires de recherche

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

Plateforme PAYZEN. Définition de Web-services

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

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Classes et Objets en Ocaml.

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

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

Les structures de données. Rajae El Ouazzani

Java Licence Professionnelle CISII,

COMPARAISONDESLANGAGESC, C++, JAVA ET

Tutoriel BlueJ. Michael Kölling Mærsk Institute University of Southern Denmark. Version 1.4 fr-2 par le groupe Sigma 1 pour BlueJ Version 1.2.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Programmation Objet I

TD2 Programmation concurrentielle

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

Apprendre Java en 154 minutes

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Principes des langages de programmation INF 321. Eric Goubault

Projet de programmation (IK3) : TP n 1 Correction

I. Introduction aux fonctions : les fonctions standards

Ingénérie logicielle dirigée par les modèles

TD/TP PAC - Programmation n 3

Développement Logiciel

Programmation par composants (1/3) Programmation par composants (2/3)

Transcription:

Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0

Principaux concepts étudiés champs constructeurs méthodes paramètres instructions d affectation instructions conditionnelles Conception objet en Java avec BlueJ une approche interactive 2

Billetterie automatique une vue externe Étude du comportement d une billetterie automatique élémentaire. utilisez le projet naive-ticket-machine. la machine distribue des billets à prix fixe. comment ce prix est-il déterminé? comment l «argent» est-il entré dans la machine? comment la machine conserve-t-elle l argent entré? Conception objet en Java avec BlueJ une approche interactive 3

Billetterie automatique une vue interne Interagir avec un objet donne des informations sur son comportement. L étudier de l intérieur permet de déterminer comment ce comportement est réalisé ou implanté. Toutes les classes Java possèdent une vue interne de même structure. Conception objet en Java avec BlueJ une approche interactive 4

Conception objet en Java avec BlueJ une approche interactive 5 Structure de base d une classe public classe TicketMachine { //*** partie de la classe // non reproduite. l enveloppe de TicketMachine public classe ClassName { champs constructeurs méthodes le contenu de la classe

Conception objet en Java avec BlueJ une approche interactive 6 Champs les champs stockent les valeurs pour un objet. aussi appelés variables d instance. utilisez l option Inspecter pour voir les champs d un objet. les champs définissent l état d un objet. public classe TicketMachine { private int price; private int balance; private int total; //*** Constructeur et // méthodes non // reproduits. modificateur de visibilité type nom du champ private int price;

Constructeurs Les constructeurs initialisent un objet. Ils ont le même nom que leur classe. Ils stockent les valeurs initiales dans les champs. Ils reçoivent souvent des valeurs externes en paramètre dans ce but. public TicketMachine(int ticketcost) { price = ticketcost; balance = 0; total = 0; Conception objet en Java avec BlueJ une approche interactive 7

Conception objet en Java avec BlueJ une approche interactive 8 Fournir des données via les paramètres

Conception objet en Java avec BlueJ une approche interactive 9 Affectation Les valeurs sont stockées dans les champs (et dans les autres variables) avec des instructions d affectation: variable = expression; price = ticketcost; Une variable stocke une unique valeur, donc toute valeur précédente est perdue.

Méthodes d accès (1) Les méthodes implantent le comportement des objets. Les méthodes d accès (ou accesseurs) fournissent des informations sur un objet. Une méthode comporte un en-tête et un corps. L en-tête définit la signature de la méthode: public int getprice() Le corps contient les instructions de la méthode. Conception objet en Java avec BlueJ une approche interactive 10

Conception objet en Java avec BlueJ une approche interactive 11 Méthodes d accès (2) modificateur de visibilité type de retour nom de la méthode public int getprice() { return price; début et fin du corps de la méthode (bloc) liste des paramètres (vide ici) Instruction de retour

Méthodes de modification (1) (modificateurs) Même structure: en-tête et corps. Utilisées pour modifier l état d un objet. Consistent à changer la valeur d un ou plusieurs champs. comportent typiquement des instructions d affectation. reçoivent en général des valeurs en paramètres. Conception objet en Java avec BlueJ une approche interactive 12

Conception objet en Java avec BlueJ une approche interactive 13 Méthodes de modification (2) modificateur de visibilité type du retour (void ici) nom de la méthode paramètre public void insertmoney(int amount) { balance += amount; champ modifié instruction d affectation

Conception objet en Java avec BlueJ une approche interactive 14 Afficher depuis une méthode public void printticket() { // Simule l impression d un ticket. System.out.println("##################"); System.out.println("# La ligne BlueJ"); System.out.println("# Ticket"); System.out.println("# " + price + " centimes."); System.out.println("##################"); System.out.println(); // Mettre à jour le total collecté: ajouter le prix. total += balance; // Mettre à zéro la somme entrée. balance = 0;

Analyse des billetteries Leur comportement n est pas satisfaisant pour plusieurs raisons: pas de vérification des montants entrés. pas de rendu de monnaie. pas de vérification de l initialisation. Comment faire mieux? il nous faut des comportements plus sophistiqués. Conception objet en Java avec BlueJ une approche interactive 15

Conception objet en Java avec BlueJ une approche interactive 16 Faire des choix (1) public void insertmoney(int amount) { if(amount > 0) { balance += amount; else { System.out.println( Entrez un montant positif: " + amount);

Conception objet en Java avec BlueJ une approche interactive 17 Faire des choix (2) mot clé "if" Condition booléenne à tester produit un résultat vrai (true) ou faux (false) actions si la condition est vraie if(perform some test) { Exécuter ces instructions si le test donne un résultat vrai else { Exécuter ces instructions si le test donne un résultat faux mot clé "else" actions si la condition est fausse

Variables locales (1) Les champs sont une forme de variable. ils stockent des valeurs pendant la vie d un objet. ils sont accessibles dans la classe. Les méthodes peuvent comporter des variables à durée de vie courte. elles existent pendant l exécution de la méthode. elles ne sont accessibles que depuis la méthode. Conception objet en Java avec BlueJ une approche interactive 18

Conception objet en Java avec BlueJ une approche interactive 19 Variables locales (2) pas de modificateur de visibilité public int refundbalance() { int amounttorefund; amounttorefund = balance; balance = 0; return amounttorefund; une variable locale

Résumé (1) les corps des classes contiennent des champs, des constructeurs et des méthodes. les champs stockent des valeurs qui définissent l état d un objet. les constructeurs initialisent les objets. les méthodes implantent le comportement des objets. Conception objet en Java avec BlueJ une approche interactive 20

Résumé (2) champs, paramètres et variables locales sont tous des variables. les champs existent durant toute la vie d un objet. les paramètres sont utilisés pour transmettre des valeurs aux constructeurs ou aux méthodes. les variables locales sont utilisées pour le stockage à courte durée de vie. Conception objet en Java avec BlueJ une approche interactive 21

Conception objet en Java avec BlueJ une approche interactive 22 Résumé (3) Les objets peuvent prendre des décisions avec des instructions conditionnelles (if). Un test vrai/faux permet de choisir une suite d exécution parmi deux.

Sommaire général 1. Introduction 2. Classes 3. Interactions d objets 4. Collections et itérateurs 5. Bibliothèques de classes 6. Tests mise au point 7. Conception des classes 8. Héritage -1 9. Héritage -2 10. Classes abstraites et interfaces 11. Gestion des erreurs 12. Conception des applications Conception objet en Java avec BlueJ une approche interactive 23