Docstoc

Chapitre 1 - Java _ Tableaux _ Applets _ OO

Document Sample
Chapitre 1 - Java _ Tableaux _ Applets _ OO Powered By Docstoc
					                                         1
                         Cours 1



                    Contenu du cours :


"   Premières applications
"   Compilation, Exécution, Chemin
"   Affichage et saisie
"   Types de données
"   Flux de contrôle
"   Applets
"   Arrays
"   OO de base
                                                 2
                    Edition
          Le fichier texte HelloWorld.java




 Une seule classe publique par fichier source.
      C'est elle qui donne le nom au fichier.
Les classes exécutables ont une méthode main.
                                                                       3
                     Programmation



     Edition               Compilation                 Exécution




                         Correction d'erreur




Il faut compiler et exécuter souvent un programme. Cela permet de
vérifier chaque partie individuellement plutôt que tout le programme
                                                                       4
                        Compilation
  C:\>cd   C:\Program Files\Java\jdk1.5.0_15\bin
  C:\Program Files\Java\jdk1.5.0_15\bin\> javac HelloWorld.java




HelloWorld.java                                     HelloWorld.class
  Source                                                  Byte Code
  Code                   Génération du
                          byte code
                       reconnu par JVM


      On compile un fichier « .java » avec la commande javac
                                                                   5
               Correction d'erreur
                                             N° de ligne de
 Fichier contenant                           l'erreur
 l'erreur


                                                        Endroit
                                                        exact de
                                                        l'erreur




                                            Nombre
                                            d'erreurs


    Le compilateur aide à trouver les erreurs.
(Nombre d'erreurs, ligne de l'erreur, type d'erreur...)
                                                               6
                        Exécution
C:\Program Files\Java\jdk1.5.0_15\bin\> java   HelloWorld




HelloWorld.class                                     Bonjour




      On exécute une classe, pas un fichier « .class »
  La JVM exécute la méthode main de la classe spécifiée.
                                                   7
                     Affichage

                                 Dans la console

System.out.println
                    Changement du chemin
• Pour ne pas toujours enregistrer dans le bin de java
• Changer le chemin du bin pour avoir accès à javac et java
                                                                    9
                         Affichage



   Importation
   de la classe
   JOptionPane




   Affichage
   dans une
   fenêtre.
                                        Force la sortie du programme.
                                        (Obligatoire en mode
                                        graphique)


On peut utiliser différentes options d'affichage avec JOptionPane
                                                                  10
                           Affichage

                                             Dans une fenêtre

JOptionPane.showMessageDialog




      On peut afficher des messages dans une fenêre de dialogue
                   à l'aide de la classe JOptionPane.
                                                                 11
Saisie en mode textuel
// Un programme Java qui calcule le carré d’un nombre
// importer la classe Scanner
import java.util.Scanner ;

public class Carre {

    public static void main (String args[]) {

        Scanner entree;
        int nombre;
        int carre;
        System.out.print("Donner un nombre : ");
        entree = new Scanner(System.in) ;
        nombre = entree.nextInt() ;
        carre = nombre * nombre ;
        System.out.print("Le carré du nombre est : " + carre);
    }
}



                        Saisir en mode textuel
                                                                         12
  Saisie en mode graphique



Commentair                                          Permet la saisie
  e multi
  lignes

Commentaire
sur une ligne                                     Convertion en entier




             On peut faire afficher une fenêtre pour faire
     saisir une chaîne à l'utilisateur à l'aide de showInputDialog
                                                                                  13
                         Types de données

                             Types de données




                  Types primitifs                       Types objets

                                                String , HelloWorld, etc.......

     Numériques                boolean

"byte
"short
                              char
"int

"long

"float

"double




        Les types de données primitifs sont les types de base.
    Il existe différentes méthodes de convertion entre ces types.
                                                   14
                Contrôle de flux et évaluation

if ( noteEtudiant >50)
 System.out.println(“L’étudiantE passe” );
else
  System.out.println(“L’étudiantE échoue”
);




                            Syntaxe du langage C
                                                                            15
             Utiliser la documentation de la jdk
                     http://java.sun.com/j2se/1.5.0/docs




La documentation de la JDK est l’outil de base de programmation en java !
                                                                           16
             Utiliser la documentation des APIs
                     http://java.sun.com/j2se/1.5.0/docs/api

Liste des
paquets




                                                               Documentation
                                                               de la classe
                                                               sélectionnée
Liste des
classe du
paquet
sélectionn
é



 La documentation des classes de la JDK est facile et rapide à utiliser.
                                                           17
                 Applets Java


                       Internet
     Serveur                           Navigateur
     HTTP                                Java
            HTML
              +
            Applet                        JVM




Une applet Java est un programme téléchargeable qui peut
               s'exécuter dans un navigateur.
      Il est installé en visionnant une page HTML.
                  18
Première Applet
                                                                     19
                      Balise <applet>


                                                        Paramètres de la
                                                          balise applet




Balise
applet




     Le paramètre "code" indique le nom de la classe à exécuter.
Le paramètre "codebase" indique l'URL où le code à télécharger réside.
                                                               20
                 Exécution d'une applet



C:\>temp\appletviewer HelloApplet.html


  HelloApplet.html




         Avec appletviewer, on exécute une page « .html » ,
               pas un fichier « .class » ni une classe !

          Ouvrir le fichier .html dans un browser quelconque
                                        21
           Tableaux




    Les tableaux ont une taille fixe.
Ils ne sont pas redimmensionnables.
                                                                          22
                               Tableaux
Les tableaux sont indexés à partir de 0




   En java, les tableaux sont considérées comme des classes sans
                               méthode.
     La variable membre « length » donne la longueur du tableau.
   Le dernier élément d'un tableau de taille n se trouve à l'index n-1.
                                                                        23
                          Tableaux




Les variables de types primitifs sont initialisées à 0 pour les types
            numériques et à false pour les booléens.
      Les références sur les objets sont initialisées à null.
                                                          24
                    Tableaux




    Une référence indique un emplacement mémoire.
Cet emplacement ne représente rien en dehors de la JVM.
                                                              25
 Tableaux à plusieurs dimensions




                                  0
                                  1


                   matI2[0] est
                   un tableau à
                  une dimension




En java, les tableaux à plusieurs dimensions sont vus comme
  des tableaux de tableaux (de tableaux, de tableaux, etc)
                                    26
Passage de tableaux en paramètres
                                                                             27
  Passage de tableaux en paramètres




  En java, les tableaux sont considérées comme des classes sans méthode.
Ils sont passés par références, le mode de passage d’un élément du tableau
                 dépend du type de l’élément (primitif ou objet).
                                                                        28
                  Structure d’un fichier java
 Commentaire
 de classe


 Déclaration
 de classe


Données membres


Commentaire
de méthode
                                                    Paramètre
                                                    (variable locale)



 Déclaration
 de méthode                                         Variable locale




Les instructions java sont autorisées UNIQUEMENT dans les méthodes.
         Variable déclarée dans une méthode  variable locale
          Variable déclarée dans la classe  donnée membre
                                                                 29
                  Création de classes
 Modificateur:
 Tout le monde       Définition de classe
                                              Nom de la classe
 peut appeler
 cette classe
 pour lui
 demander des
 services.


Début et
fin de la
classe




                    Une classe rend des services.
                  Pour accéder à un de ses services,
             on invoque (=appelle) une de ses méthodes.
                                                                         30
                Création de méthodes


                                                     signature




                                                        bloc
                                                        d'instrcutions




          Trois méthodes de la classe MaClasseMath.
Une méthode est composée d'une signature et d'un bloc d'instructions
                                                                         31
                     Signature de méthode

Cette méthode est       Type de retour     Nom de la méthode
accessible à tous.




                                         Argument ou liste d'arguments
                                           (séparés par une virgule)




  Une signature de méthode est une déclaration de service.
 La façon dont le service est réalisé ne regarde pas l'appelant.
                   On parle d'encapsulation.
                                                                     32
          Constructeurs et instanciations
Un constructeur est une méthode particulière d'une classe.




Il peut y avoir plusieurs constructeurs dans/pour une même classe.
            Les constructeurs n'ont pas de type de retour.
        Les constructeurs portent le même nom que la classe.
                                                                      33
          Constructeurs et instanciations
Pour créer de nouveaux objets (=instances) d'une classe,
on appelle un des constructeurs de cette classe.




 Un appel à un constructeur est toujours précédé du mot-clef "new".
   On dit que personne2 réfère à un objet de la classe Personne.
                                                                               34
                  Références et objets
                                          Code java            JVM

                                      personne0
                                                         personne




                                          Code java            JVM

                                       personne0         personne
                                                                    personne
                                       personne1


                                          Code java            JVM

                                       personne0          personne
                                                                personne
                                       personne1



En java, on ne manipule que des références qui pointent vers des objets.
      Dès qu’un objet n’est plus référencé, il est garbage collecté.
                                                                       35
            Données membres (1)




          Ces 2 champs sont des variables d'instances.
Leur contenu varie pour chaque objet, elles sont accessibles à tous.
                                                                                 36
             Données membres (2)



                                                      L’age de jean est 20 ans


                                                      L’age de jean est -1 ans



                                 Petite astuce pour
                                 faire une pause



 Lorsque les données sont publiques, il est impossible de contrôler la
façon dont elle sont utilisées. Cela peut rendre vos objets incohérents
                                                            37
    Masquage de données (1)




On masque les données aux clients en les rendant privées.
     Et on donne des méthodes d’accès publiques.
    Les méthodes d’accès ont un nom standardisé.
                                                                    38
       Masquage de données (2)




                                          L’age de jean est 20 ans


                                          L’age de jean est 0 ans




Les clients doivent passer par les méthodes du serveur pour
                  manipuler leurs données.
                                                                39

          Masquage de données (3)
Le masquage de données permet:
  de valider les donnéees en entrée
  de formater les données en sortie
  de cacher aux clients les structures de données manipulées
  de s’assurer de la cohérence interne des objets.

En règle générale :
  les données sont privées
  les méthodes sont publiques (sauf celles qui sont utilisées en
   interne par une classe)
  Principe du moindre privilège
                                                                          40
         Portées des variables & this
                                         La variable locale
                                         maValeur masque la
                                         donnée membre
                                         maValeur

                                                                    8
                                                                    5




        Les données membres ont une portée globale dans la classe.
On utilise le mot clef « this » pour accéder à une donnée membre lorsqu’une
                      variable locale porte le même nom.

				
DOCUMENT INFO
Categories:
Tags:
Stats:
views:2
posted:10/28/2012
language:
pages:40