23
JAVA 24/04/22 1 Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail. com

JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila [email protected]

Embed Size (px)

Citation preview

Page 1: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

JAVA

11/04/23 1Formation JAVA. Par: SILMI.S

Initiation SILMI Souhila

[email protected]

Page 2: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Plan

Introduction à JavaPrésentation du langage  Les concepts objetsObjets, classes, encapsulation Attributs, opération et identité Associations et collaboration Héritage et polymorphisme  Syntaxe Java

Collections Java Les types de base Déclaration des variables Opérateurs Les structures de contrôle Différences entre C et Java Commentaires Objets, classes et tableaux Déclaration d'une classe Les attributs et méthodes static et final Constructeurs et bloc d'initialisation La création et destruction d'un objet Les références : this, null

11/04/23 2Formation JAVA. Par: SILMI

Opérateurs sur références

Règles de visibilité

Syntaxe des tableaux, les matrices

Classes et méthodes abstraites

Les interfaces Java

Page 3: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Classification, packages et encapsulation

Les exceptions en JAVA

Bases d'AWT et de Swing  Les entrées / sorties Java  Les bases de JDBC  Les Threads Java

Introduction à RMI

Java et le Web

Plan

11/04/23 3Formation JAVA. Par: SILMI

Page 4: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Introduction: La programmation orientée objets

Lorsqu’on écrit un programme informatique, c’est pour résoudre un certain problème.

Le programme s’exprime sous la forme d’un certain nombre de procédures à appliquer à des données, tandis que le problème s’exprime sous la forme d’un ensemble de traitements à appliquer à des objets.

Selon cette perspective, concevoir un programme dans un langage procédural classique, c’est effectuer la conception dans le langage de la solution, tandis que la programmation orientée objets permet de l’effectuer dans le langage du problème.

11/04/23 Formation JAVA. Par: SILMI 4

Tous les informaticiens expérimentés s’accordent à dire que: La programmation dans un langage procédural est plus simple et s’apprend plus vite que la programmation orientée objets. Mais, parce qu’elle permet de travailler directement sur la représentation du problème, la programmation orientée objets permet de réaliser une conception qui colle beaucoup plus exactement au problème auquel on s’attaque.

Le résultat est un programme plus facile à comprendre, même pour un non-informaticien, plus facile à maintenir et plus facile à réutiliser sur des problèmes proches.

Page 5: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Introduction: JAVA

Le langage Java fut développé par Sun Microsystems en 1991 dans le cadre du projet Green:- Java est peu encombrant.- Java est sûr- Java est portable- En outre, Java présentait l'intérêt de pouvoir être

utilisé comme un langage de programmation polyvalent pour développer des logiciels capables de fonctionner sur différentes plates-formes

11/04/23 Formation JAVA. Par: SILMI 5

Page 6: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

11/04/23 Formation JAVA. Par: SILMI 6

Un langage indépendant de toute plate-forme : Application

Le pseudo-code est similaire au code machine produit par d'autres langages, mais il

n'est pas propre à un processeur donné.

Il ajoute un niveau entre la source et le code machine.

Page 7: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

La machine virtuelle

11/04/23 Formation JAVA. Par: S.SILMI 7

La machine virtuelle développée par Sun représente le conteneur

dans lequel le code Java est exécuté.

Afin de garantir la possibilité de s'exécuter sur de nombreux

systèmes existants ou à venir, la machine virtuelle définit une

architecture d'exécution complète:

-Un jeu d'instructions précis ;

-Des registres ;

-Une pile.

Page 8: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

La machine virtuelle

11/04/23 Formation JAVA. Par: SILMI 8

-c’est une machine à pile,

-Supporte les objets,

-Exécutes les fichiers .class,

-Opère sur deux types des objets:

Primitifs

Références

-Supporte les threads,

Page 9: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Problématique de la programmationLe schéma simplifié d'un système informatique peut se

résumer par la formule :

11/04/23 Formation JAVA. Par: SILMI 9

SYSTÈME INFORMATIQUE = STRUCTURES DE DONNÉES + TRAITEMENTS

Lors de la production du système (au sens industriel du terme), le concepteur a deux grandes options :

+ soit orienter sa conception sur les traitements.+ soit orienter sa conception sur les données.

Page 10: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Principe : On sépare les données des moyens de traitement de ces données.

11/04/23 Formation JAVA. Par: SILMI 10

+ Les premiers concepteurs de système informatique ont adopté cette approche.+ De nombreux systèmes informatiques sont encore développés selon cette approche.- Maintenance est difficile.- Les traitements sont beaucoup moins stables que les données.- Les structures de données sont choisies en relation avec les traitements à effectuer.

Conception par traitements : principe

Page 11: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Conception par objets : principePrincipe : an d'établir de façon stable et robuste

l'architecture d'un système, il semble raisonnable de s'organiser autour des données manipulées.

11/04/23 Formation JAVA. Par: SILMI 11

Page 12: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

+ La construction d'un système va se baser principalement sur la détermination des données dans un premier temps,

+ et la réalisation des traitements agissant sur ces données dans un second temps.

+ Cette approche permet de bâtir des systèmes plus simples à maintenir et à faire évoluer.

11/04/23 Formation JAVA. Par: SILMI 12

Conception par objets : principe

Page 13: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Le concept d'objet : définition

Un Objet est une entité autonome, qui regroupe un ensemble de propriétés (données) cohérentes et de traitements associés.

11/04/23 Formation JAVA. Par: SILMI 13

Á retenir:Á retenir:Ne commencez pas par vous demander ce que fait l'application mais ce qu'elle manipule.

Page 14: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Les structures de données dénies dans l'objet sont appelés ses attributs (propriétés).

Les procédures et fonctions dénies dans l'objet sont appelés ses méthodes (opérations).

Les attributs et méthodes d'un objet sont appelés ses membres.

11/04/23 Formation JAVA. Par: SILMI 14

Le concept d'objet : vocabulaire

Page 15: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

• Pour être véritablement intéressante, la notion d'objet doit permettre un certain degré d'abstraction: notion de classe.

11/04/23 Formation JAVA. Par: SILMI 15

Le concept d'objet : notion de classe

Définition:Définition:On appelle classe la structure d'un objet, i.e., la déclaration del'ensemble membres qui composeront un objet.

Remarque:Remarque:La classe peut être vue comme un moule pour la création des objets, qu'on appelle alors des instances de la classe.

Page 16: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Classe : déclarationPour déclarer une classe, on utilise le mot-clé

class.

11/04/23 Formation JAVA. Par: SILMI 16

Règle:Règle:La première lettre du nom d'une classe doit être une lettre majuscule.

Exemple: public class Test { // déclaration des membres }

Page 17: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Classe : définition- Définir une classe en Java, c'est définir ses

membres à savoir :(1) ses attributs, (2) le(s) constructeur(s), (3) et ses méthodes.

11/04/23 Formation JAVA. Par: SILMI 17

Remarques:Remarques:- Il n'est pas nécessaire de spécifier de mécanisme de destruction (transparente pour l'utilisateur),- prise en charge par un gestionnaire appelé garbage collector chargé de détecter les instances à détruire.

Page 18: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

La méthode main de Java : conceptIl ne suffit pas de définir les attributs, constructeurs et méthodes des

différentes classes, il faut pouvoir exécuter un programme, les

concepteurs de Java ont choisi pour cela de particulariser une

méthode : la méthode main.

La méthode main est une méthode de classe publique dont la syntaxe

est :

public static void main ( String [ ] args )

et qui contient le programme principal à exécuter.

11/04/23 Formation JAVA. Par: SILMI 18

Page 19: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Compilation et exécution d'un programme JavaSoit à compiler puis exécuter le programme suivant :

import java.io.*;

public class Test {

public static void main(String args[]){

System.out.println("Salem");

}

}

11/04/23 Formation JAVA. Par: SILMI 19

Page 20: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Compilation et exécution d'un programme Java

Le fichier source contenant la classe Test précédente, doit obligatoirement s'appeler

Test.java.

La compilation et l'exécution d'un programme Java se fait dans une fenêtre DOS.

Les exécutables javac.exe (compilateur) et java.exe (interpréteur) se trouvent dans

le répertoire bin du répertoire d'installation du JDK.

11/04/23 Formation JAVA. Par: SILMI 20

Page 21: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

Le compilateur javac.exe va analyser le fichier source .java et produire un fichier

compilé .class.

Celui-ci n'est pas immédiatement exécutable par le processeur.

Il nécessite un interpréteur Java (java.exe) qu'on appelle une machine virtuelle ou JVM

(Java Virtual Machine).

A partir du code intermédiaire présent dans le fichier .class, la JVM va générer des

instructions spécifiques au processeur de la machine sur laquelle elle s'exécute.

Il existe des machines virtuelles Java pour différents types de systèmes d'exploitation

(Windows, Unix, Mac OS,...).

Un fichier .class pourra être exécuté par n'importe laquelle de ces machines virtuelles

donc sur n'importe quel système d'exploitation.

Cette portabilité inter-systèmes est l'un des atouts majeurs de Java.

11/04/23 Formation JAVA. Par: SILMI 21

Compilation et exécution d'un programme Java

Page 22: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

1. Compilons le programme précédent Test.java : C:\program files\jdk14\bin\javac Test.java

2. Exécutons le fichier .class produit : C:\program files\jdk14\bin\java Test

• On notera que dans la demande d'exécution ci-dessus, on n'a pas précisé le suffixe .class du fichier Test.class à exécuter. Il est implicite.

• Si le répertoire bin du JDK est dans le PATH de la machine DOS, on pourra ne pas donner le chemin complet des exécutables javac.exe et java.exe. On écrira alors simplement :

javac Test.javajava Test

11/04/23 Formation JAVA. Par: SILMI 22

Compilation et exécution d'un programme Java

Page 23: JAVA 06/06/20141Formation JAVA. Par: SILMI.S Initiation SILMI Souhila silmi.sh11@gmail.com

ConclusionLa notion centrale de la programmation orientée objets est

évidemment la notion d’objet. Dans un programme orienté objets, toutes les données manipulées

sont des objets.En JAVA, même le programme exécutable est un objet sur lequel le

programme lui-même peut agir.Pour représenter concrètement des objets en programmation

orientée objets (on dit pour implémenter ces objets), on dispose de classes.

Pour agir sur les objets, on dispose de méthodes. C’est ce que nous allons voir dans la suite.

11/04/23 Formation JAVA. Par: SILMI 23