Java ? Printemps 90 : Naughton, Gosling et Sheridan : –"Le consommateur est le centre du projet, il faut construire un environnement de petite taille avec.

Slides:



Advertisements
Présentations similaires
Réaliser en Java un programme client d’une Base de Données
Advertisements

Programmation par Objets 1 Module IN504 Animé par : Marianne Huchard Marie-Laure Mugnier Khalil Ben Mohamed
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
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.
Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement.
(Classes prédéfinies – API Java)
Les Interfaces graphiques Les Swing. Les interfaces graphiques: Introduction Une application est une boîte noire. Prend des entrées et produit des sorties.
Programmer en JAVA par Tama
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
JAV - TD 6 Structures de données JAVA
JAV – TD 3 bibliothèques standards composition
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
Présentation de Java Stéphane Frénot INSA lyon
IJA - TD 2 Bases du langage
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
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.
Écouteurs de click d'une fenêtre
Premier cours (23 septembre). Cours programmation- orientée objet en Java Licence dinformatique Hugues Fauconnier
Laboratoire d'Informatique de l’Université de Franche-Comté
Classes abstraites et Interfaces
Introduction à la programmation (Java)
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Introduction au paradigme orienté-objet (suite)
Présentation Structures de Données et TDA
IFT 6800 Atelier en Technologies d’information
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 1 : Introduction.
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 :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
JavaScript Nécessaire Web.
1 Fichers Binaires, Accès Direct et Objets. 2 Données binaires. Il s'agit ici de lire et écrire des données binaires par opposition à du texte. Pour ce.
La notion de type revisitée en POO
Propriétés. Propriétés ► Les propriétés peuvent être visibles dans les environnements de scripts ► Les propriétés peuvent être accédées par programmation.
Introduction à la programmation objet avec java
11/04/ L'héritage Cours 7 Cours 7.
Premiers pas dans le langage Java 2012/ Premiers pas dans le langage Java TI3.4 Responsable : M lle Sana Ezzedine
Cours 7 Classes locales Clonage Divers: tableaux.
Cours 91 9 Interfaces graphiques avec awt. Cours 92 Plan Introduction : deux bibliothèques graphiques 1.Comment se dessine une fenêtre ?  Un exemple.
Interfaces graphiques. Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases.
Interface graphique PO2 ( ) Chapitre 3 Gestionnaires géométrie.
Tutorat en bio-informatique
Les sockets.
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.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Cours 2 Introduction. POO-L3 H. Fauconnier2 D) Un exemple…  Pile abstraite et diverses implémentations.
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)
Introduction au langage JAVA
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Initiation au JavaScript
1 Programmation Avant-propos. 2 Programmation / Avant-propos  Programmation Ensemble des activités permettant l'écriture de programmes informatiques.
Héritage Conception par Objet et programmation Java
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
 1) Il faut connaître le modèle et son fonctionnement  2) Définir le contrôle que l’on veut faire ouvrir, fermer, afficher, etc.) sur le modèle  3)
Cours d’introduction à Java Christophe Vaudry IUT - Cycle IRISM Année
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é.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Présentation de Java 2006 INSA lyon
Transcription de la présentation:

Java ? Printemps 90 : Naughton, Gosling et Sheridan : –"Le consommateur est le centre du projet, il faut construire un environnement de petite taille avec une petite équipe et intégrer cet environnement dans une nouvelle génération de machines : des ordinateurs simples pour des gens normaux." Printemps 91 : Microprocesseur grand public. –La "Green Team" prototype une machine de pilotage de l'électroménager Août 91 : Gosling développe Oak Août 92 : duke >

Java ? Eté 1993 : Sté. "First Person" est en train de couler –Eric Schmidt ( Sun) demande une adaptation au Net Gosling : travaille sur le code Naughton : cherche une application stratégique Janvier 1995 –Oak ==> Java –HotJava Août 1995 –Première licence sur Netscape

Java : Principes Simple : C++ sans les couteaux ni les révolvers Orienté Objet Orienté réseau : Classes de gestion des protocoles Robuste : Typage fort compilation et exécution Sûr et sécurisé Indépendant du matériel : byte-code Portable : spécification précise (int=int) Haute performances Multithread Dynamique

Plateforme Java : architecture Java Client/Serveur : Nicolas, Avare, Najman - Eyrolles

Machine Virtuelle : Emulateur Byte-Code/P-Code/J-Code –opcode : 1 octet pour l'instruction –0,n opérandes MicroProcesseur logiciel –Jeu d'instructions –Registres (pc, optop, frame, vars) –Pile, Heap –Ramasse-miettes –Espace de stockage des méthodes –Tas de constantes ==> Compilé ou Interprété

Un langage de programmation

Bases du langage Types –byte : 1 octet –short : 2 octets –int : 4 octets –long : 8 octets –float : 4 octets –double : 8 octets –boolean : true false –char : 2 octets (Unicode) Instructions –if –while, do while, for –selection (switch) Opérateurs –Arithmétique : =+-*/% –Relationnels : <> = == != –Logiques : ! && || –Incréments : –Bit Wise : & | ^ ~ >> >> –Affectation : = += -= *= /= %=

Abstraction Héritage –extends –héritage simple super : Accède à la méthode parente this : Accède à l'objet lui-même Classes abstraites

Interface –Toutes les méthodes sont abstraites et publiques –Tous les attributs sont final public static Spécification formelle de classe –Indique les services rendus par la classe qui implante l'interface Une classe peut implanter plusieurs interfaces public interface Translatable {... abstract public void translater();...} public class Cercle extends FigureGeometrique implements Modifiable, Translatable { public void translater(){... } public void modifier(){...}}

Encapsulation Portée des données –private, (vide), protected, public Paquetage –Ensemble de classes –Permet de : regrouper les classes d'un point de vue conceptuel Définir une protection sur les attributs partagés –Répertoire physique

Une librairie standard

API du JDK (Paquetages) java.lang : classes de bases (+reflect) java.io : entrées/sorties java.util : utilitaires (structures, dates, events) (+zip) java.net : réseau java.applet : gestion des applets java.awt : interface graphique (image, +datatransfert, +event) java.beans : définition de composants réutilisables java.math : entier de taille variable java.rmi : invocation distante (+dgc, +registry, +server) java.security : (+acl, +interfaces) java.sql : jdbc... java.text : traduction, chaine=f(langue)

Des concepts de programmation

Mécanisme d'exception class PileSale {... assiette depiler() throws Exception { if (pileVide()) throw new Exception("trop tard ! f(depiler)"); return (elementsuivant()); } class MachineALaver{ void laver() throws Exception {... assiettessales.depiler(); } class Bonnes_Resolutions { void bonneresolution1 () { try {mamachinealaver.laver();} catch {Exception e) { e.printStackTrace(); }

Threads Execution de tâches en // Mémoire, Code et Ressources partagés Economie de ressources Un thread ~= méthode qui rend immédiatement la main Exemple événements (IHM, Réseau) + priorités + synchronisation –(moniteur, synchronized)

Gestion de l'interface utilisateur

Paquetage Awt Abstract Window Toolkit Composants –simple et conteneur A chaque conteneur est associé une mise en page assurée par l'interface LayoutManager –flowlayout –borderlayout –cardlayout –gridlayout –gridbaglayout

Java Awt : Container Conteneurs de composants, héritent de la classe abstraite Container –Panel, // Container dans un autre container : exApplet –ScrolPane, //Ajoute les barres de défilement –Window //Fenêtre sans bordure ni menu, borderLayout par default Frame // windows + Titre Dialog //Saisie de données (setModal, isModal) –FileDialog //Fonction du SE instanciate, setLayout, add, remove, getComponents class HelloWeb { public static void main( String[] args) { Frame uneFrame=new Frame("Le Titre"); uneFrame.add("Center", new Label("Bonjour", Label.CENTER)); uneFrame.pack(); uneFrame.show(); }

Layout Managers FlowLayout : standard, gauche à droite, mais centré setLayout(new GridLayout(3,2)); //ligne, colonne (2,0) BorderLayout : North, South, East, West, Center –p.add(new Button("Ouest")); CardLayout : Pile de cartes : –first( ), last( ), next( ) et previous() GridBagLayout : –Position relative entre les composants en utilisant des contraintes –Composants sont organisés sur une grille logique –Complexe

La gestion des événements Evénements = objets dérivés de EventObject Source dérive d'un composant graphique Le délégué implante des interfaces spécifiques dérivant de EventListener public Listener add Listener( Listener leDelegue)

Adaptation au Web

Deux formes de Java Exemple d'application public class MonApplication { public static void main (String args[]) { System.out.println("Salut !"); } Application=classe main() Nom classe = nom de fichier Exemple d'applet import java.awt.*; import java.applet.Applet; public class MonApplet extends Applet { public void paint (Graphics g) { g.drawString("Mon Applet",5,15); } applet=classe hérite d'Applet executé par une page html nom classe = nom fichier

Cycle de vie Une applet hérite de la classe Applet elle est pilotée par le browser Web constructeur appelé en premier init()Une seule fois à la création de l'applet start()Appelée après init() et chaque fois qu'elle a été stoppée stop()Appelée chaque fois que l'applet doit être interrompue destroy()Appelée lorsque le client quitte la page HTML paint()Appelée chaque fois que l'Applet doit se redessiner

Composants logiciels : Beans

Java Beans Composant logiciel –Commercialisable –Communiquant –Indépendant (Environnement d'intégration) –Intégrable –!= application –interface parfaitement définie méthodes, événements, propriétés

Modèle d'écriture du code Modèles d'écriture du code –propriétés (normales, indexées, liées et contraintes) public integer getAge( ); public void setAge(integer a); public boolean isHomme(); void setNom(int index, String nom); String getNom(int index); –void setNom(String values[]); –String[ ] getNom(); –événements public void add ( a) public void remove ( a) –Méthodes publiques –PropertyChangeListener / PropertyChangeSupport

JavaBeans : Marché du composant Développement de Bean Infrastructure d'intégration Infrastructure de fonctionnement Applications spécialisées

Composants distribués...

Java : Conclusion Augmente la productivité –moins coûteux pour les décideurs –plus intéressant pour les développeurs (comparer) Langage d'avenir pour : –les applications distribuées (portable, sécurisé) –le développement OO simple, puissant, outillé, bibliothèques –les applications embarquées Introduit tous les mécanismes des langages de programmation modernes Langage universel