22
1. Introduction Conception objet en Java avec BlueJ une approche interactive © David J. Barnes, Michael Kölling Traduction et adaptation française : © Patrice Moreaux POLYTECH Annecy-Chambéry – France Rédigé avec Adapté pour le cours de « Programmation objet » enseigné par Amine Brikci-Nigassa – Université de Tlemcen

Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

1. Introduction

Conception objet en Java avec BlueJune approche interactive

© David J. Barnes, Michael Kölling

Traduction et adaptation française :

© Patrice MoreauxPOLYTECH Annecy-Chambéry – France

Rédigé avec

Adapté pour le cours de « Programmation objet »enseigné par Amine Brikci-Nigassa – Université de Tlemcen

Page 2: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 2© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Prenez le contrôlede votre propre apprentissage

Cours

Exercices

Leçons

Livre

Page web

Forums de discussionÉtudiez en groupesPratiquez, pratiquez, pratiquez !

Page 3: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 2© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Contenu du cours

Introduction à la programmation orientée objet…

… Fondée sur une solide approche génie logiciel…

… Dans le but de produire et maintenir de grands systèmes logiciels de haute qualité.

Page 4: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 3© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Mots à la mode…

interfacejavadoc

encapsulation

couplagecohésion

appels de méthodes polymorphes

héritage

modificateur (méthode)classes collections

surchargeitérateurs

conception dirigée par les responsabilités

Page 5: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 4© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Objectifs

Acquérir une bonne connaissance des principes de programmationAcquérir de solides connaissances en orientation objetÊtre capable d’évaluer de manière critique la qualité d’un système logiciel (modeste)Savoir implanter un « petit » système logiciel en Java

Page 6: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 5© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Livre

David J. Barnes et Michael Kölling

Conception objet en Java avec BlueJune approche interactive

4e éditionPearson Education France, 2009

ISBN-10 2-7440-7371-7

Page 7: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Book

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

David J. Barnes & Michael Kölling

Objects First with JavaA Practical Introduction using BlueJ

5th edition, Pearson Education, 2012ISBN 0-13-249266-0978-0-13-249266-9

La 6e édition est sortie en 2016

Page 8: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 6© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Pages web

• La page de ce cours est ành2blog.wordpress.com

Veuillez la consulter régulièrement.• Elle sera utilisée pour les annonces et la distribution des compléments.• Voir aussi www.bluej.org.

Page 9: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive © David J. Barnes, Michael Kölling – version française: © Patrice Moreaux – Adaptation : Amine Brikci-Nigassa

Page webhttp://nh2blog.wordpress.com

Actualités sur le coursDocuments de cours, TD, TPDiapos du coursCommentaires (discussion)

Page 10: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 7© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Plan du cours (1)

Objets et classesComprendre les définitions des classesInteractions entre objetsGroupement d’objetsComportements plus complexes – bibliothèquesObjets bien conçus – test, maintenance, mise au pointConception des classes

Page 11: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 8© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Plan du cours (2)

Héritage

Polymorphisme

Structure de classes extensible et flexible

Construire des interfaces graphiques

Gestion des erreurs

Conception des applications

Page 12: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 9© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Démonstration…

Page 13: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 10© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Concepts fondamentaux

Objet

Classe

Méthode

Paramètre

Type de données

Page 14: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 11© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Objets et classes

ObjetReprésente un « élément » du monde réel, ou d’un domaine de problème donné (exemple : « la voiture rouge, là, sur le parking »).

ClasseReprésente tous les objets d’une même « catégorie » (exemple : « voiture »).

Page 15: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 12© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Méthodes et paramètres

Les objets sont capables de réaliser des actions (appelées méthodes en Java) dont on peut demander l’exécution (on dit qu'on invoque ou qu'onappelle une méthode).

Une méthode peut avoir des paramètres pour fournir des informations utiles à l’exécution.

Page 16: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 13© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Autres points à noter

On peut créer plusieurs instances d’une seule et même classe.

Un objet a des attributs : valeurs stockées dans des champs.

La classe définit les champs de ses objets, mais chaque objet stocke son propre ensemble de valeurs (l’état de l’objet).

Page 17: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 14© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

État

Page 18: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 15© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Deux objets Circle

est une instance de...

est une instance de...

Page 19: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 16© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Code Java

• L'instanciation d'objets et les appelsde méthodes se font par des instructionsen langage Java

Terminal de BlueJ(voir les instructions)

Code Pad de BlueJ(écrire des instructions)

Page 20: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 16© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Code source

• Chaque classe possède un code source (code Java) qui la définit en détail (champs et méthodes).

Page 21: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 17© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

Valeurs de retour

• … les méthodes peuvent retourner un résultat via une valeur de retour.

• Toutes les méthodes du projet shapes ont des types de retour void ; mais...

• De telles méthodes ont un type de retournon void.

• Plus de détails dans le chapitre suivant.

Page 22: Conception objet en Java avec BlueJ une approche interactive 1. … · 2016. 10. 23. · 1. Introduction 2. Classes 3. Interactions d’objets 4. Collections et itérateurs 5. Bibliothèques

Conception objet en Java avec BlueJ – une approche interactive 18© David J. Barnes, Michael Kölling – version française: © Patrice Moreaux

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. Construction d'interfaces graphiques

12. Gestion des erreurs

13. Conception des applications

14. Une étude de cas