Vous êtes sur la page 1sur 50

Programmation orienté objet- JAVA-

EL HARRAK Mohammad
Département de Physqique, FS
Tétouan, UAE harrakmed@gmail,com

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA PLAN du Module

PLAN

 Introduction Générale

 Chapitre 1 : Chapitre 1 : Bases du langage Java.

 Chapitre 2: Classes et instances.

 Chapitre 3 : Les classes et objets -Notions avancées- .

 Chapitre 4 : Parlons de familles de classes … sous JAVA.

 Chapitre 5 : Exceptions en Java

 Chapitre 6 : Interfaces graphiques en JAVA.

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Réferences

Réferences

 Livres :
 Développons en Java, Jean Michel DOUDOUX
 Programmer en Java (2ème édition). Claude Delannoy chez Eyrolles,
Edition : 2002
 Java en action. Ian F. Darwin chez O’Reilly, Edition : 2002
 Thinking in Java (3ème édition). Bruce Eckel chez Prentice-Hall
 Sur le net
 Programmation orientée objet : application au langage Java. Mickaël
Baron
 Manuel Java. Eric Lefrançois
 Cours en ligne sur internet
 www.developpez.com
JAVA Chapitre 0 : Introduction

Chapitre 0 : Introduction

Chapitre 0 : Introduction

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Les Programmes Informatiques

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Les Programmes Informatiques

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

La programmation orientée objet (POO)

Les objectifs :
Faciliter le développement et l’évolution des applications ;
 Permettre le travail en équipe ;
 Augmenter la qualité des logiciels (moins de bugs).
Solutions proposées :
 Découpler (séparer) les parties des projets ;
 Limiter (et localiser) les modifications lors des évolutions ;
 Réutiliser facilement du code.

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Le langage Java (utilisé dans ce cours)

Le langage Java :
 est un langage de programmation orienté objet
 crée par James Gosling et Patrick Naughton (Sun)
 présenté officiellement le 23 mai 1995.
Les objectifs de Java :
 simple, orienté objet et familier ;
 robuste et sûr ;
 indépendant de la machine employée pour l’exécution ;
 très performant ;
 interprété, multi-tâches et dynamique.

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Autres langages orienté objet

 C++ : très utilisé


 C# : langage de Microsoft (appartient à .NET)
 Objective C : langage utilisé par Apple
 PHP : langage très utilisé sur le Web
 Python
 Ruby
 Eiffel
 Ada
 Small talk
...
La syntaxe change mais le concept objet est le même !

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Les Programmes Informatiques
Introduction
Java
Un langage bien conçu, par un petit groupe de gens compétents et
motivés.
 James Gosling
 Les bibliothèques sont très bien faites

Utilisé par SUN comme une arme commerciale contre sesconcurrents

Sun visait les systèmes embarqués (véhicules, électroménager, etc)


utilisant des langages dédiés incompatibles entre eux.

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Les Programmes Informatiques
Introduction

Java comme antidote de C++


Selon les créateurs du langage :

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Java selon Sun

 Java selon Sun


Java : A simple, object-oriented, network-savvy, interpreted, robust,
secure, architecture neutral, portable, high-performance,
multithreaded, dynamic language.

 C’est-à-dire, Sun définit Java comme :


• Simple
• Sûr
• Orienté objet
• Portable
• Réparti
• Performant
• Interprété
• Multitâches
• Robuste
Master Spécialisé Mécatronique
• Dynamique ...
Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction

IntroductionPrincipe de fonctionnement
 Code source
Fichiers utilisés lors de la phase de programmation
 Byte-code
Fichiers obtenus par compilation et destinés à être
exécutés sur la machine virtuelle
 Machine virtuelle
Programme interprétant le byte-code. La machine
virtuelle dépend du système d’exploitation, mais elle est
capable d’exécuter tout programme Java même s’il a
été compilé avec un autre système d’exploitation

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Compilateur et machine virtuelle
Introduction
Versions de la machine virtuelle :
 Java 2 Micro Edition (Java ME) : les terminaux portables
 Java 2 Standard Edition (Java SE) : les postes clients
 Java 2 Enterprise Edition (Java EE) : un serveur d’application
Environnements :
 SDK/JDK (Software/Java Development Kit) fournit un compilateur
et une machine virtuelle
 JRE (Java Runtime Environment) fournit uniquement une machine
virtuelle.
Version actuelle de Java (à voir) :
 Actuellement « Java SE 6.0 »
 Bientôt Java SE 7.0

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction

Introduction
Environnement de développement (IDE)
http://www.developpez.net

Eclipse (plus complet)


NetBeans

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction

Introduction
Les Programmes Informatiques
Environnement de développement (IDE)

Eclipse (plus complet)


NetBeans

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Principe de la programmation objet

 Programmation objet : envoie de message


 Les objets communiquent entre eux par envoi et
réception des messages
 Un objet peut recevoir un message qui déclenche une
méthode qui modifie son état et / ou une méthode qui
envoie un message à un autre objet

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Principe de la programmation objet
 Programmation objet : classe java

package voiture;
La compilation se Nom du package
public class Voiture{
fait à l’aide de la
// variables d’instances Nom de la classe
commande
private int puissance ;
javac Voiture.java
private boolean estDemarree ;
Pour compiler, il est
private float vitesse ;
nécessaire d’avoir /!\ Cette classe
une méthode doit être
public static void // Constructeur enregistrée dans
main(String agrv[]) public Voiture(){ …} un fichier qui
qui contient les porte le même
instructions à //trois méthodes nom que la classe
exécuter public void demarre(){… } Voiture.java
public void accelere(float v) {… }
public int getPuissance() {…}
}

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Principe de la programmation objet

 Programmation objet et UML


Nom de la classe
Voiture
Attributs - puissance : entier
- estDemarree : booleén
- Vitesse : réel
Méthodes
+ demarre() Modificateur
+ accelere(réel)
+ getPuissance() : entier
Lisibilité
- : privé
+ : public Accesseur (sélecteur)
# : protégé

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Package

 Utilisation d’un package : comportement du compilateur


Lorsqu’il y a une référence à une classe, le compilateur la
recherche dans le package par défaut (java.lang) et dans tous les
packages importés. S’il ne trouve pas la classe en question, illève
une erreur de résolution de symbole. Il est nécessaire de fournir
au compilateur explicitement l’information pour savoir où se
trouve la classe :
 Utilisation d’import (classe ou paquetage) et/ou
 Nom du paquetage avec le nom de la classe
import java.lang.String; // Ne sert à rien puisque par défaut
import java.io.ObjectOutput;
import monpackage.*;
import java.lang.*; // Ne sert à rien puisque par défaut

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Package
 Packages et répertoires
 Chaque classe correspond à un fichier
 Chaque package (ou sous-package) correspond à un
répertoire : le package monpackage correspond au
répertoire monpackage.
 Un package peut contenir
 Des classes ou des interfaces
 Des sous-packages
La hiérarchie des répertoires donne des noms
composés pour les packages : monpackage.xyzzy
correspondra au répertoire monpackage/xyzzy

Le nom des packages est


toujours écrit en minuscules

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Package

Chaque logiciel code les caractères comme il l’entend. Ils ne


sont d’accord que sur les chiffres et les lettres sans accents.
Or, les règles ci-dessus introduisent une correspondance entre
des noms internes à Java et des noms de fichiers gérés par
l’OS.
Il y a de grandes chances que si vos noms de packages ou de
classes possèdent des lettres accentuées, la correspondance
avec les fichiers ne se fasse pas correctement.

Pas d’accent dans les noms de packages ni dans les noms de


classes et pas d’espace d’ailleurs, s’il s’agit d’un nom composé.

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Package
 Visibilité
L’instruction import nomPackage.* ne concerne que les
classes du package indiqué. Elle ne s’applique pas aux
classes des sous-packages.
import java.util.zip.*;
import java.util.*;

public class Essai {


...
public Essai() {
Date myDate = new Date(...);
ZipFile myZip = new ZipFile(...);
...
}
...
}

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Introduction
Package
 Les principaux packages

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Chapitre 1 : Bases du langage


Java

Chapitre 1 : Bases du langage Java

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Mon premier programme Java

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Commentaires

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Instructions, Variables et Expressions

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les Variables

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les types primitifs

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Opérateurs de Calcul

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Opérateurs de Calcul

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Opérateurs logiques et comparaisons

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les expressions

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les expressions

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Incrémentation, décrémentation et affectations

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les affectations

Il existe des opérateurs de ce type associés aux opérations logiques.

Master Spécialisé Mécatronique Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les affectations sont des opérateurs

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les Tableaux

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les Tableaux

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Références et Garbage Collector

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les instructions conditionnelles if

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les instructions conditionnelles switch

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Incrémentation, décrémentation et affectations

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les boucles while et do/while

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les boucles for

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les boucles for

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les blocs d’instructions

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les blocs d’instructions

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020
JAVA Chapitre 1 : Bases du langage Java

Les tableaux à plusieurs indices

Master Spécialisé Mécatronique


Programmation orienté Objet – Langage JAVA UAE-FS Tétouan-2019/2020

Vous aimerez peut-être aussi