Programmation par Objets et Java

  • Published on
    14-Jan-2016

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Programmation par Objets et Java. Concepts de base. Objectifs. Apprendre les rudiments de Java Concepts Le language comme tel Idiosyncrasies Partager des Concepts Vocabulaire Expertise Vers JavaBeans La programmation visuelle Les schmas de conception La refactorisation. - PowerPoint PPT Presentation

Transcript

  • Programmation par ObjetsetJavaConcepts de base

  • ObjectifsApprendre les rudiments de Java ConceptsLe language comme telIdiosyncrasiesPartager des Concepts VocabulaireExpertiseVers JavaBeansLa programmation visuelleLes schmas de conceptionLa refactorisation

  • ContenuLa programmation par objetsLe langage JavaLes classes et oprations de base en Java Interfaces graphiques Construire et dployer des applicationsStocker et manipuler des groupes dobjetsDocumentation en Java

  • Concepts de base en programmation par objets

    ClasseInstanceMessageMthodeHritage

    Interface (Java)

  • ClasseComportement dune classeCration des objects (instance)java.lang.Class

    Une classe est un mouleStructure de ltat de ses instanceComportement de ses instances

  • InstanceCre par les classesForme spciale : constructeurActive par les messagesnew

  • Messages et MthodesLes comportements dune instance sont activs par transmission de messagesUne mthode spcifie et implmente ce comportementaPoint.getClass()setX(20)Ma classe connat mon comportementgetClass()

  • HritagePour spcialiser une classeen ajoutant une mthodeen spcialisant une mthode

    Pour factoriser les structures et les comportements communs

    inheritsFrom

  • Hritage multiple ?Lhritage multiple est trs difficile grer

    en Java, hritage simple

    Pour obtenir un comportement quivalent lhritage multipleInterfaceun ensemble de signatures de mthodecest une spcification plus facile grerVrification de type

  • InterfaceUne classe doit implanter les mthodes spcifies par linterface

    Un moyen de retarder le choix de limplmentation relle dun objet lexcution

  • Questions fondamentales des langages objetsEst-ce que tout est objet ?en Java, nonIl existe des types primitifs: int

    Est-ce quune classe est un objet ? En Java, pas aussi flexibleEn Smalltalk, compltement modifiable dynamiquement

    Hritage simple versus multipleEn Java, hritage simple + interfaces

  • Le Langage JavaSyntaxeTypes primitifsStructures de contrleDefinition de classesCration dinstancesExcution de programmes

  • Dfinition dune classepackage examples;import java.util.*;/** * This type was created in VisualAge. */ public class Point {protected int x = 5;private int y;

    // commentspublic Point() { super(); }

    public int getX() { return x;}public int getY() { return y;}public void setX(int newValue) { this.x = newValue;}public void setY(int newValue) { this.y = newValue;}

    public String toString() { return "Point(" + this.getX() + ", " + this.getY();}}

  • Types de donnes primitifs

  • Porte des variables

  • OprateursArithmtiques (+, -)Relationels (>) et Logiques (&)affectations (=)Autres Raccourci if-elseop1 ? op2 : op3 Oprateur de vecteur []float[] arrayOfFloats = new float[10]; Oprateur . pour accder aux variables dinstance et aux variables de classeOperateur de typage (type) castOprateur de cration newOprateur instanceof

    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html

  • Enoncs de contrleforwhileif then elseswitch

  • Exemple dnonc de contrleboucle forpublic static void exampleFor(){//example 1int[] arrayOfInts = {32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127};for (int i = arrayOfInts.length; i >= 0; i = i - 1) // for (int i = arrayOfInts.length; --i >= 0;) {System.out.println(arrayOfInts[i]);}//example 2Vector v = new Vector();v.addElement(new Point(1, 2));v.addElement(new Point(3, 4));v.addElement(new Point(5, 6));for (Enumeration enum = v.elements(); enum.hasMoreElements();){System.out.println(enum.nextElement());}}

  • Cration dinstances/** * Tortue constructor comment. */public Tortue(int x, int y) {this();//super();//this.x = x;this.setX(x); //setX(x);this.setY(y);}

  • Enonc de branchementbreakcontinuereturn

  • Gestion des exceptions

    public void writeList(){PrintWriter out = null;try{System.out.println("Entering try statement");out = new PrintWriter(new FileWriter("OutFile.txt"));for (int i = 0; i < size; i++)out.println("Value at: " + i + " = " + victor.elementAt(i));}catch (ArrayIndexOutOfBoundsException e){ System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage());}catch (IOException e){ System.err.println("Caught IOException: " + e.getMessage());}finally{ if (out != null){System.out.println("Closing PrintWriter");out.close(); }else{System.out.println("PrintWriter not open");}}}

  • Excution dun programme/** * Starts the application. * @param args an array of command-line arguments */public static void main(java.lang.String[] args) {PieceExamples.exampleFor();}

  • Programmes Java

  • lments dun programme JavaJDK / JREJDK 1.0 (inspir de C++)JDK 1.1 (inspir de Smalltalk)JDK 1.2 (Intgration de JFC (Swing, Collections), Security)JDK 1.3 (Optimization)JDK 1.4 (Libraires)JDK 1.5 (contrle et gestion de la JVM, performance, look and feel)

    Code JavaPackagesFichiers: .java, .class, .jar, .manifestAutres ressources: .propertiesClasspath

    Compilation dun programme Java

    Excution dun programme JavaStand-alonebrowsers

  • Ressources en Javahttp://java.sun.comTutorielJavaDoc: APIs

    www.javaworld.com

Recommended

View more >