Programmation par Objets et Java

Slides:



Advertisements
Présentations similaires
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Advertisements

Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
L’ interruption de boucle
Programmer en JAVA par Tama
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Chapitre VII Généricité. POO-L3 H. Fauconnier2 Chapitre VII 1. Principes généraux 2. Types génériques imbriqués 3. Méthodes génériques 4. Types paramètres.
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Programmation par Objets et Java
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Cours 9 Exceptions (fin) Généricité. POO-L3 H. Fauconnier2 Chaînage d'exceptions  Une exception peut être causée par une autre.  il peut être utile.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Cours du 5 novembre.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Héritage H. Batatia. plan Notion (que signifie l’héritage) Ecriture en java Héritage multiple (interdit) Instanciation (partie propre et partie héritée)
Héritage Conception par Objet et programmation Java
Classes abstraites, interface Classe interne Classes enveloppes
PRO-1027 Programmation Scientifique en C
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Programme de baccalauréat en informatique Structures de données IFT Abder Alikacem TP4 Département d’informatique et de génie logiciel Édition septembre.
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Développement à l'Aide de Langages Dynamiques : Smalltalk module IT308: Méthodologies et outils logiciels Nada Ayad, Damien Cassou et Annabelle Souc.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
1 Programmation en C++ Fonctions ● Déclaration et définition de fonctions ● Arguments ● Surcharge ● Arguments optionnels ● Fonctions constantes ● Fonctions.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
UE2 - M22 Licence acoustique
JAVA.
Modèle objet : les classes
Notions de base de programmation et Objets
java : l'héritage (rappel)
Environnement de développement des BD
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Pas de variable globale
Les notions de classe et d'objet
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Concurrence Opérations atomiques Rémi Forax
Principes de programmation (suite)
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Programmation Orientée Objet I. Introduction
E) Constructeurs et héritage
Week 1 Lecture 1 Introduction à R L3PRO 2017.
Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
Programmation en C++ C++ de base
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Plus de 4000 langages....
Calcul Scientifique Initiation à SCILB
Développement d’applications interactives
Le Java premiers pas.
I-D-L Interface Definition Language Elaboré par Elaboré par : Mohamed Moncef SAAFI Sofien SAGHROUNI Mondher MOULAHI Marwen BALLOUMI LFSi-3.
I-D-L Interface Definition Language Elaboré par Elaboré par : Mohamed Moncef SAAFI Sofien SAGHROUNI Mondher MOULAHI Marwen BALLOUMI LFSi-3.
IDL interface définition langage. Plan Introduction Principaux éléments IDL Types de données IDL Déclaration de module Déclaration d'interface Déclaration.
Schéma de conception Factory Method Exemple
Principes de programmation (suite)
Le langage C# : Partie 1.
INTERFACE ET POLYMORPHISME
STREAMS (et fichiers).
Variables et accès en Java
Transcription de la présentation:

Programmation par Objets et Java Concepts de base

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

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

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

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

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

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

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

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

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

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

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

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();} }

Types de données primitifs 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

Portée des variables

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

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

Exemple d’énoncé de contrôle boucle 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());

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); }

Enoncé de branchement break continue return

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");

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(); }

Programmes Java

É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

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