1 / 25

Programmation par Objets et Java

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 schémas de conception La refactorisation.

fawn
Télécharger la présentation

Programmation par Objets et Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmation par ObjetsetJava Concepts de base

  2. Objectifs • Apprendre les rudiments de Java • Concepts • Le language comme tel • Idiosyncrasies • Partager des • Concepts • Vocabulaire • Expertise • Vers • JavaBeans • La programmation visuelle • Les schémas de conception • La refactorisation

  3. Contenu • La programmation par objets • Le langage Java • Les classes et opérations de base en Java • Interfaces graphiques • Construire et déployer des applications • Stocker et manipuler des groupes d’objets • Documentation en Java

  4. Concepts de base en programmation par objets • Classe • Instance • Message • Méthode • Héritage • Interface (Java)

  5. Point.class State int x int y Methods getX setX(int newX) getY setY(int newY) toString() Classe • Comportement d’une classe • Création des objects (instance) • java.lang.Class • Une classe est un moule • Structure de l’état de ses instance • Comportement de ses instances

  6. Point.class State int x int y aPoint Methods getX() setX(int newX) getY() setY(int newY) toString() x = 5 y = 10 Instance • Créée par les classes • Forme spéciale : constructeur • Activée par les messages new

  7. Point.class State int x int y aPoint Methods getX() setX(int newX) getY() setY(int newY) toString() x = 5 y = 10 Messages et Méthodes • Les comportements d’une instance sont activés par transmission de messages • Une méthode spécifie et implémente ce comportement aPoint.getClass() setX(20) getClass() Ma classe connaît mon comportement

  8. setX( 5) setDir(0) toString() Point.class State int x int y Turtle.class aTurtle State int dir int hop Methods getX() setX(int newX) getY() setY(int newY) toString() x = 5 y = 10 dir = 90 hop = 5 Methods getDir() setDir (int newDir) getHop() moveTo(Point aPoint) toString() Héritage • Pour spécialiser une classe • en ajoutant une méthode • en spécialisant une méthode • Pour factoriser les structures et les comportements communs inheritsFrom

  9. Héritage multiple ? • L’héritage multiple est très difficile à gérer • en Java, • héritage simple • Pour obtenir un comportement équivalent à l’héritage multiple • Interface • un ensemble de signatures de méthode • c’est une spécification • plus facile à gérer • Vérification de type

  10. Interface • Une classe doit implanter les méthodes spécifiées par l’interface • Un moyen de retarder le choix de l’implémentation réelle d’un objet à l’exécution

  11. Questions fondamentales des langages à objets • Est-ce que tout est objet ? • en Java, non • Il existe des types primitifs: int… • Est-ce qu’une classe est un objet ? • En Java, “pas aussi flexible” • En Smalltalk, complètement modifiable dynamiquement • Héritage simple versus multiple • En Java, héritage simple + interfaces

  12. Le Langage Java • Syntaxe • Types primitifs • Structures de contrôle • Definition de classes • Création d’instances • Exécution de programmes

  13. Définition d’une classe package examples; import java.util.*; /** * This type was created in VisualAge. */ public class Point { protected int x = 5; private int y; // comments public 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();} }

  14. Mot-clé Description Taille/Format (integers) byte Byte-length integer 8-bit two's complement short Short integer 16-bit two's complement int Integer 32-bit two's complement long Long integer 64-bit two's complement (real numbers) float Single-precision floating point 32-bit IEEE 754 double Double-precision floating point 64-bit IEEE 754 (other types) char A single character 16-bit Unicode character boolean A boolean value (true or false) true or false Types de données primitifs

  15. Portée des variables

  16. Opérateurs • Arithmétiques (+, -…) • Relationels (<…) et conditionnels ( &&…) • Décalages (>>…) et Logiques (&…) • affectations(=…) • Autres • Raccourci if-else • op1 ? op2 : op3 • Opérateur de vecteur [] • float[] arrayOfFloats = new float[10]; • Opérateur “.” • pour accéder aux variables d’instance et aux variables de classe • Operateur de typage (type) cast • Opérateur de création new • Opérateur instanceof • http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html

  17. Enoncés de contrôle • for • while • if then else • switch

  18. Exemple d’énoncé de contrôleboucle for • public static void exampleFor() • { • //example 1 • int[] 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 2 • Vector 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()); • } • }

  19. Création d’instances • /** • * Tortue constructor comment. • */ • public Tortue(int x, int y) • { • this(); // super(); //this.x = x; • this.setX(x); // setX(x); • this.setY(y); • }

  20. Enoncé de branchement • break • continue • return

  21. 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"); • } • } • }

  22. Exécution d’un programme • /** • * Starts the application. • * @param args an array of command-line arguments • */ • public static void main(java.lang.String[] args) • { • PieceExamples.exampleFor(); • }

  23. Programmes Java

  24. Éléments d’un programme Java • JDK / JRE • JDK 1.0 (inspiré de C++) • JDK 1.1 (inspiré de Smalltalk) • JDK 1.2 (Intégration de JFC (Swing, Collections), Security…) • JDK 1.3 (Optimization…) • JDK 1.4 (Libraires…) • JDK 1.5 (contrôle et gestion de la JVM, performance, look and feel…) • Code Java • Packages • Fichiers: .java, .class, .jar, .manifest • Autres ressources: .properties • Classpath • Compilation d’un programme Java • Exécution d’un programme Java • Stand-alone • browsers

  25. Ressources en Java • http://java.sun.com • Tutoriel • JavaDoc: APIs • www.javaworld.com

More Related