Vous êtes sur la page 1sur 40
Cours JAVA et Programmation Réseau Chapitre 1 : Notions de base sur JAVA
Cours JAVA et Programmation Réseau
Chapitre 1 : Notions de base sur JAVA
Cours JAVA et Programmation Réseau Chapitre 1 : Notions de base sur JAVA Année universitaire 2012-2013
Cours JAVA et Programmation Réseau Chapitre 1 : Notions de base sur JAVA Année universitaire 2012-2013
Année universitaire 2012-2013
Année universitaire 2012-2013

Plan

 
 
 
 

Caractéristiques de bases de la P.O.O

Notion de classe et d‘objet

L’encapsulation des données

L’héritage

Le polymorphisme et le Multithreading

Naissance et développement de java

Java Developer’s Kit (JDK)

Le code source

La compilation

Les paquetages

 Construction de package  

Construction de package

 

Utilisation des classes d’un paquetage

Plan

 
 
 
 
 

Les paquetages

 

Construction de package

Utilisation des classes d’un paquetage

Le JDK (Java Development Kit) Le JRE (Java Runtime Environment )

Eclipse

 
 
 
 
 
 

Naissance et développement

de java

  Naissance et développement de java

Historique de java

Historique de java • Extension du langage OAK en 1991 • Conversion de OAK pour les
Historique de java • Extension du langage OAK en 1991 • Conversion de OAK pour les
Historique de java • Extension du langage OAK en 1991 • Conversion de OAK pour les
Historique de java • Extension du langage OAK en 1991 • Conversion de OAK pour les

Extension du langage OAK en 1991

Conversion de OAK pour les réseaux informatiques

• Des éditeurs l’utilisent :

Oracle, Borland, IBM, Novell, Adobe Systems

Caractéristiques de java

 
 
 
 
 

Java est proche de C++

 

Java fonctionne comme une machine virtuelle

• Pas de pointeurs, pas d’héritage multiple

Java autorise le multithreading

Il contient une très riche bibliothèque de classes

 
 
 
 
 
 

Caractéristiques de base de

la P.O.O

  Caractéristiques de base de la P.O.O

Notion de la classe et de l’objet :

Notion de la classe et de l’objet : Objet est une instance de la classe Objet=Données
Notion de la classe et de l’objet : Objet est une instance de la classe Objet=Données
Notion de la classe et de l’objet : Objet est une instance de la classe Objet=Données
Notion de la classe et de l’objet : Objet est une instance de la classe Objet=Données

Objet est une instance de la classe

Objet=Données +Traitements

La classe : Abstraction d’un ensemble d’objets qui ont les mêmes caractéristiques (attributs) et les mêmes comportements (méthodes)

Exemple : Une classe de nom Employe Elle a des attributs et des méthodes

L’héritage

Définition : Une classe dérivée hérite d’une classe de base Objectifs : • Economie de
Définition : Une classe dérivée hérite d’une classe de base
Objectifs :
• Economie de code
• Amélioration de la fiabilité
• Amélioration de la lisibilité
Exemple : Un rectangle hérite d’un polygone
class fille extends mère
 

L’héritage

 
 
 
 
 

Tous les objets en java, quelle que soit leur classe, sont du type

 

Object.

Les objets possèdent déjà à leur naissance un certain nombre d'attributs et de méthodes dérivées d'Object.

 
 

Les membres protégés

  Les sous-classes n'ont pas accès aux membres privés de leur classe mère Les membres
  Les sous-classes n'ont pas accès aux membres privés de leur classe mère Les membres
 
 

Les sous-classes n'ont pas accès aux membres privés de leur classe mère

Les membres privés de la classe mère sont bien hérités par les classes filles.

 
privés de leur classe mère Les membres privés de la classe mère sont bien hérités par

Les membres protégés

  public class Ville { private String nom ; private int nbHab; … } public
  public class Ville { private String nom ; private int nbHab; … } public
 
 

public class Ville

{

private String nom; private int nbHab;

}

public class Capitale extends Ville

{

private String pays;

public afficheCapitale ( )

{

System.out.println ( nom + " est la Capitale de "+ pays); ……

 
 
Les membres protégés Solution de l’erreur : Si on veut qu'un attribut ou une méthode
Les membres protégés
Solution de l’erreur :
Si on veut qu'un attribut ou une méthode soit encapsulé pour
l'extérieur mais qu'il soit accessible par les sous-classes, il faut le
déclarer protected à la place de private.

Les membres protégés

  public class Ville { protected String nom; protected int nbHab; … } public class
  public class Ville { protected String nom; protected int nbHab; … } public class
 
 

public class Ville

{

protected String nom; protected int nbHab;

}

public class Capitale extends Ville

{

private String pays;

public afficheCapitale( )

{

System.out.println(nom + " est la Capitale de "+ pays);

 
 

Le polymorphisme et le Multithreading

 
 
 
 
Polymorphisme :

Polymorphisme :

Il permet la redéfinition d’une méthode héritée

Il correspond à la possibilité pour un opérateur ou une fonction d'être utilisable dans des contextes différents

Il permet d'utiliser un même nom de méthode pour plusieurs types d'objets différents

Multithreading : plusieurs processus qui s’exécutent

simultanément à l’intérieur d’un unique programme

• Multithreading : plusieurs processus qui s’exécutent simultanément à l’intérieur d’un unique programme

le JDK (Java Development Kit)

 
 
 
 
Le JDK contient tout ce qui est nécessaire pour développer des programmes.  

Le JDK contient tout ce qui est nécessaire pour développer des programmes.

 

le JDK contient une machine virtuelle Java permettant d'exécuter les programmes .

Le JDK qui contient javac, le compilateur qui

transforme votre programme source en bytecode, java, l'interpréteur de bytecode, pour exécuter les applications, l'AppletViewer, pour exécuter les

applets, javadoc, un programme permettant de créer

automatiquement la documentation de vos programmes au format HTML, et d'autres utilitaires.

permettant de créer automatiquement la documentation de vos programmes au format HTML, et d'autres utilitaires.

Ce que contient le JDK

 
 
 
 
 

jdk1.2\bin : Ce dossier contient essentiellement les

 

fichiers exécutables suivants :

java.exe : C'est lui qui permettra d'exécuter les programmes que vous écrirez.

javac.exe : permet de traduire vos programmes Java en bytecode exécutable par l'interpréteur.

 
 

Ce que contient le JDK

 
 
 
 
 

appletviewer.exe : permet de tester les applets Java, prévues pour être intégrées dans des pages HTML.

 

jar.exe : permet de compresser les classes Java ainsi que tous les fichiers nécessaires à l'exécution d'un programme. Il permet en particulier d'optimiser le

chargement des applets sur Internet.

javap.exe : permet d'examiner le bytecode.

 
 

Ce que contient le JDK

 
 
 
 
 

jdk1.2/demo : Ce dossier comporte deux sous- dossiers :

 

applets : Le dossier applets contient un ensemble de

programmes de démonstration sous forme d'applets.

jfc : Les exemples figurant dans le dossier jfc

concernent essentiellement les nouveaux composants

Swing de l'interface utilisateur

 
 

Ce que contient le JRE

Le JRE (Java Runtime Environment), contient un interpréteur de bytecode et tout ce qui est
Le JRE (Java Runtime Environment), contient un
interpréteur de bytecode et tout ce qui est nécessaire
pour diffuser vos applications aux utilisateurs (y
compris un compilateur JIT)
JRE n'est pas un environnement de développement
mais d'éxécution.
Par contre JDK est le kit de développement des
applications java, qui contient obligatoirement un JRE
pour tester et exécuter nos applications.

Eclipse

Le téléchargement se fait à partir du site www.eclipse.org, section downloads. Installation d'Eclipse : Pour
Le téléchargement se fait à partir du site www.eclipse.org,
section downloads.
Installation d'Eclipse :
Pour Windows, le fichier à télécharger est un fichier zip.
L'installation consiste simplement à décompresser le
fichier.
Pour fonctionner Eclipse, il nécessite un JDK. Les versions
3.4.x, 3.3.x, 3.2.x et 3.3.1 ont été validées avec le JDK 5.0,
l'utilisation d'un JDK 6 ne pose généralement pas de
problème.
21

Eclipse

Si vous avez plusieurs JDK installés sur votre machine celui par défaut est utilisé. Si
Si vous avez plusieurs JDK installés sur votre
machine celui par défaut est utilisé. Si ce n'est pas
celui souhaité vous pouvez lancer Eclipse en
indiquant la machine virtuelle à utiliser avec l'option -
vm. Le paramètre de cette option doit pointer vers
l'exécutable de la JVM,
Par exemple :
eclipse.exe -vm c:\jdk1.4.2\bin\javaw.exe
eclipse.exe -vm c:\jre\bin\javaw.exe

Eclipse

  The most recommended way to specify a JVM for Eclipse to run in is
  The most recommended way to specify a JVM for Eclipse to run in is
 
 

The most recommended way to specify a JVM for Eclipse to run in is to put startup configuration into

the Eclipse.ini file in the same folder as the Eclipse

executable (eclipse.exe on Windows). The Eclipse program launcher will read arguments from either the command-line or the configuration file named Eclipse.ini . To specify a JVM using configuration file, include the -vm argument in Eclipse.ini, for example:

-vm

eclipse.exe -vm c:\jre\bin\javaw.exe

configuration file, include the -vm argument in Eclipse.ini , for example : -vm eclipse.exe -vm c:\jre\bin\javaw.exe

Environnement de Java

 
 
 
 
 

Java Developer’s Kit (JDK)

Le compilateur (javac)

• L’interpréteur (java)

• L’appleviewr ou inspecteur d’applet

www.javasoft.com : pour les versions de JDK

L’interpréteur (java) • L’appleviewr ou inspecteur d’applet • www.javasoft.com : pour les versions de JDK
(java) • L’appleviewr ou inspecteur d’applet • www.javasoft.com : pour les versions de JDK 24

Environnement de Java

 
 
 
 
 

Le code source

 

Une application java est généralement composée de plusieurs fichiers sources

Un fichier .java peut contenir plusieurs classes

La compilation

 

Javac nom_fich.java

• Création d’un fichier nom_fichier.class

 
 
La compilation   • Javac nom_fich.java • Création d’un fichier nom_fichier.class   25

Les paquetages

 
 
 
 
 

Construction de package

package nomDuPaquetage;

Le paquetage a le même nom que le répertoire qui le

contient

Utilisation des classes d’un paquetage

import nomDuPackage

import nomDuPackage.nomDeLaclasse

qui le contient Utilisation des classes d’un paquetage • import nomDuPackage • import nomDuPackage.nomDeLaclasse
Utilisation des classes d’un paquetage • import nomDuPackage • import nomDuPackage.nomDeLaclasse 26

API de JAVA

API de JAVA Les paquetages les plus fondamentales • java.lang ( il contient la classe Object
API de JAVA Les paquetages les plus fondamentales • java.lang ( il contient la classe Object
API de JAVA Les paquetages les plus fondamentales • java.lang ( il contient la classe Object
API de JAVA Les paquetages les plus fondamentales • java.lang ( il contient la classe Object

Les paquetages les plus fondamentales

java.lang (il contient la classe Object )

java.awt (il contient les classes pour fabriquer des

interfaces graphiques)

javax.swing

java.applet

java.io (il contient les classes nécessaires aux E/S)

java.net : il fournit une infrastructure pour la

programmation à travers un réseau

java.util

aux E/S) • java.net : il fournit une infrastructure pour la programmation à travers un réseau
Les types de programmes java 28
Les types de programmes java 28
Les types de programmes java 28
Les types de programmes java 28

Les types de programmes java

Les exemples

 
 
 
 
 

applications java

applets java

javascript (il est surtout destiné à l’enrichissement graphique et au pilotage des pages HTML)

• applets java • javascript (il est surtout destiné à l’enrichissement graphique et au pilotage des
java • javascript (il est surtout destiné à l’enrichissement graphique et au pilotage des pages HTML)
Les classes java 30
Les classes java 30
Les classes java 30
Les classes java 30

Les classes java

Architecture d’une classe java

Architecture d’une classe java   • L’en -tête et le corps construisent une classe • En-tête
Architecture d’une classe java   • L’en -tête et le corps construisent une classe • En-tête
  • L’en -tête et le corps construisent une classe • En-tête : [ modificateur
 

L’en-tête et le corps construisent une classe

En-tête :

[modificateur] class <NomClasse>[extends<superclass>]

Corps d’une classe :

entête

{

déclaration des variables et des méthodes}

}

extends <superclass>] • Corps d’une classe : entête { déclaration des variables et des méthodes} }
• Corps d’une classe : entête { déclaration des variables et des méthodes} } 31

Les modificateurs de classe

 
 
 
 
 

public : la classe est visible par tout

private : la classe n’est accessible qu’à partir du fichier où elle est définie

 

final

abstract

 
 
 
qu’à partir du fichier où elle est définie •   • final • abstract    

Conventions d’écriture en java

Conventions d’écriture en java • Le nom de la classe débute par un majuscule • Le
Conventions d’écriture en java • Le nom de la classe débute par un majuscule • Le
Conventions d’écriture en java • Le nom de la classe débute par un majuscule • Le
Conventions d’écriture en java • Le nom de la classe débute par un majuscule • Le

Le nom de la classe débute par un majuscule

Le nom d’objet débute par un minuscule

nom de la méthode ? void ecrire()

Constante s’écrit toujours en majuscules

A_CONSTANT

par un minuscule • nom de la méthode ? void ecrire() • Constante s’écrit toujours en

Un premier exemple

 
 
 
 

public class Premier

{

public static void main (String[] arg)

{

System.out.println(״Bravo״);

}

}

  public class Premier { public static void main (String[] arg) { System.out.println( ״ Bravo ״
class Premier { public static void main (String[] arg) { System.out.println( ״ Bravo ״ ); }

Utilisation des classes

Utilisation des classes • La classe doit être instancié (création d’un objet) • Important : Avant
Utilisation des classes • La classe doit être instancié (création d’un objet) • Important : Avant
Utilisation des classes • La classe doit être instancié (création d’un objet) • Important : Avant
Utilisation des classes • La classe doit être instancié (création d’un objet) • Important : Avant

La classe doit être instancié (création d’un objet)

Important :

Avant de créer un objet il faut le déclarer

Déclaration d’un objet : NomClasse objet;

Création d’un objet : objet=new NomClasse ();

il faut le déclarer Déclaration d’un objet : NomClasse objet; Création d’un objet : objet=new NomClasse

Utilisation des classes

 
 
 
 
 

La déclaration et la création d’un objet peuvent être regroupées en une seule instruction :

NomClasse objet=new NomClasse ();

On accède aux méthodes et aux attributs de la classe

comme suit :

NomObjet.méthode(arguments de la méthode)

NomObjet.attribut

NomObjet.attribut

et aux attributs de la classe comme suit : NomObjet.méthode(arguments de la méthode) NomObjet.attribut 36

Les constructeurs

 
 
 
 
 

Un constructeur est une méthodes qui est effectuée au moment de la création d’un objet.

Le constructeur porte le même nom que sa classe. Il ne retourne pas de valeur et ne mentionne pas void au début de sa déclaration.

NomObjet=new Constructeur (arguments);

Il ne retourne pas de valeur et ne mentionne pas void au début de sa déclaration.
pas de valeur et ne mentionne pas void au début de sa déclaration. NomObjet=new Constructeur (arguments);

La variable this

  La variable this permet d’accèder à l’objet en cours de traitement ( en cours
  La variable this permet d’accèder à l’objet en cours de traitement ( en cours
 
 

La variable this permet d’accèder à l’objet en cours de traitement ( en cours de construction).

This.increment = increment

L’instruction ci-dessus affecte la valeur donnée en

argument du constructeur à l’attribut increment de

l’instance créée.;

ci -dessus affecte la valeur donnée en argument du constructeur à l’attribut increment de l’instance créée.
affecte la valeur donnée en argument du constructeur à l’attribut increment de l’instance créée. ; 38

Utilisation des arguments de main

Utilisation des arguments de main • Les arguments de la méthode main permet de récupérer des
Utilisation des arguments de main • Les arguments de la méthode main permet de récupérer des
Utilisation des arguments de main • Les arguments de la méthode main permet de récupérer des
Utilisation des arguments de main • Les arguments de la méthode main permet de récupérer des

Les arguments de la méthode main permet de

récupérer des chaînes de caractères fournies depuis la

ligne de commande.

L’argument de la méthode main est un tableau de

chaîne de caractères

java NomFichier argv[0] argv[1]

• L’argument de la méthode main est un tableau de chaîne de caractères java NomFichier argv[0]
Merci pour votre attention 23
Merci pour votre attention 23
Merci pour votre attention 23
Merci pour votre attention 23

Merci pour votre attention

Merci pour votre attention 23