Cours 12

icon

29

pages

icon

Français

icon

Documents

Écrit par

Publié par

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

29

pages

icon

Français

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

????????????Le PlanCours 1: IntroductionCours 2a: Syntaxe de base et applicationsCours 2b: Caractères et chaînes de caractèresCours 3: Flots de données et fichiersCours 4: Programmation par objetsCours 5-6: Interfaces graphiques d'usagersCours 7: Graphisme en JAVACours 8: n JAVA (deuxième partie)Cours 9: JAVA Native InterfaceCours 10: Multi filagesCours 11: Gestions des erreurs et d’exceptionsExamen1???????????????????????Cours 1Historique et motivationCaractéristiques principales de JAVACritique du C++Comparaison Java versus C++Aspects de performanceÀ la compilationÀ l’exécutionUne Application JAVAUne Applet JAVACaractéristiques principalesTotalement portable : génère des octet de code après la compilation (Bytecode)C’est un langage interprété.Indépendant de l’architecture: JVM (Java Virtual Machine)Totalement orienté objet. Multi filage intégré au langage.Ramasse-miettes automatique pour la gestion de la mémoire (pas besoin de delete pour détruire objets).Librairies complètes(+/-) et normalisées.Facilitées de communication réseau incluses.Gestion propre des exceptions.Vraiment sécuritaire.2??????????Aspects de performanceÀ la compilation:Pas de #include: nombre de ligne à compiler moindre.Langage plus simple que le C/C++: compilation plus simple.Génère du Bytecode: c’est plus simple que de générer des instructions machine.Pas d’étape d’édition des liens. Pas de recherche dans ...
Voir icon arrow

Publié par

Nombre de lectures

36

Langue

Français

Le Plan
„Cours 1: „Cours 2a:  „Cours 2b: „Cours 3: „Cours 4: „Cours 5-6: „Cours 7: „Cours 8: „Cours 9: „Cours 10: „Cours 11: „Examen
Introduction Syntaxe de base et applications Caractères et chaînes de caractères Flots de données et fichiers Programmation par objets Interfaces graphiques d'usagers Graphisme en JAVA Graphisme en JAVA (deuxième partie) JAVA Native Interface Multi filages Gestions des erreurs et d’exceptions
1
Cours 1
„Historique et motivation „Caractéristiques principales de JAVA „Critique du C++ „Comparaison Java versus C++ „Aspects de performance ‰À la compilation ‰À l’exécution „Une Application JAVA „Une Applet JAVA
Caractéristiques principales
„Totalement portable : génère des octet de code après la compilation (Bytecode) „C’est un langage interprété. „Indépendant de l’architecture: JVM (Java Virtual Machine) „Totalement orienté objet. „Multi filage intégré au langage. „Ramasse-miettes automatique pour la gestion de la mémoire (pas besoin de delete pour détruire objets). „Librairies complètes(+/-) et normalisées. „Facilitées de communication réseau incluses. „Gestion propre des exceptions. „Vraiment sécuritaire.
2
Aspects de performance
„À la compilation: ‰de #include: nombre de ligne à compilerPas moindre. ‰Langage plus simple que le C/C++: compilation plus simple. ‰Génère du Bytecode: c’est plus simple que de générer des instructions machine. ‰Pas d’étape d’édition des liens. ‰Pas de recherche dans les librairies. ‰La compilation est Ultra-Rapide!!
Aspects de performance
„À l’exécution ‰Lorsque le bytecode est interprété: jusqu’à 10 fois plus lent qu’une application native. ‰Cependant on a des compilateurs qui produit du code natif; dans cette situation, JAVA utilise les ressources de la machine de façon quasi optimale mais il perd sa portabilité.
3
Cours 2a
„Mots Clés „Les types prédéfini „Chaîne de caractères „Opérateurs „Tableaux „Tableau spéciaux ‰Le classeVector „Déclarationdes variables ‰Passage par Référence ‰Passage par Valeur ‰Affectations
Mots Clés abstract boolean break catch char class do double else final finally float implements import long instanceof native new private protected public static super switch throw throws transient syncronized volatile while
byte continue extends for int null return void true
case default false if interface package short this try
4
Opérateurs
„Opérateurs arithmétiques usuels ‰+ , - , * , / , % „Opérateurs de relation ‰ , <= , >== , ! , = < „Opérateurs d’affectation ‰=, += , -= , *=, /=, %= „Opérateurs incrémentation,décrémentation ‰++ , --„Opérateur de vérification du type ‰instanceof
Opérateurs
„Opérateurs logiques booléens ‰&&, || , ! , == „Opérateurs sur les bits ‰ <<< >>> <<~ , | ,^,&, >>  , , , „Opérateurs sur bits et assignation ‰| , ^= , &= , , , , = >>= <<= >>>= <<<= „Opérateur conditionnel ‰? :
5
Cours 2b
„Caractéristiquedeschaînes de caratères „Unicode „Les classes ‰String ‰StringBuffer ‰StringTokenizer „Les constructeurs „Les méthodesimportantes deString „Méthodes de StringBuffer „Les méthodesdelaclasse StringTokenizer „Lesclasses envelopes
Les classes
„String ‰va/li/jaSang/5.0.es1//spad/cosua.av/jj2m/con./:ptth tring.html ‰Toutes les chaînes sont des instances de cette classe. ‰Les strings sont constants(leurs valeurs ne peuvent pas être modifiées. ‰Puisque les strings ne peuvent être changées, ils peuvent être partagées.
6
Les classes
„StringBuffer ‰h.mtffregnuBtSirl0.5.cod/2j/m1/es/lvag/anaps/jai/tha.sun.cotp://jav ‰Permet un objet chaîne de taille variable ‰C’est une chaîne de caractères qui peux être modifiée. „La classe StringBuffer permet de créer des objets "chaîne“ modifiables „Un objet de classe StringBuffer a une capacité qui augmente automatiquement au besoin „Si effectivement le contenu de l'objet ne change pas, les méthodes de la classe String sont plus performantes
Les classes
„oTgnirtSrezinek ‰2jesoc/m0.d/1/5.://jhttpsun.ava.i//oajavpa/ico/sStri ngTokenizer.html ‰de décomposer un objet String en sous –Permet chaînes selon des délimiteurs spécifies. ‰Découpe une chaîne en jetons ‰est contrôlé pour une table et desLe processus différents drapeaux.
7
Cours 3
„Classes de lecture/écrituredanslesfichiers „Écriture de fichiers textes „Lecture de fichiers textes „Fichiers Binaires „Fichiers enaccès aléatoire „La classe File „Classe StreamTokenizer „Classe FileNameFilter „Classe FileFilter „Écriture d’un objet
Classes de lecture/écriture dans les fichiers
„de données traitées par les fluxDeux grand types ‰Les flux texte (caractère Unicode) ‰Les flux binaires (traite des octets) „Deux directions ‰Les flux d’entrées ‰Les flux de sorties „Donc quatre grand types de flux: (abstracts) ‰ fluxReader : d’entrée texte ‰Writer : flux de sortie texte ‰InputStream : flux d’entrée binaire ‰OutputStream : flux de sortie binaire
8
Fichiers en accès aléatoire
„La classe RandomAccessFile ‰travaille des fichiers seulement ‰en ordre quelconque des informations ‰n’est pas dérivée de InputStream ou de OutputStream ‰implémente les interfaces DataInput et DataOutput ‰on peut accéder et modifier le pointeur lecture/écriture „uesrurtcstonC ‰On fournit un nom de fichier ou un objet de classe File ‰On fournit un mode: “r” ou “rw” RandomAccessFile raf =newile(essF.binnom”w;),”r”RccAmodna
Écriture dun objet
„Jusqu’à maintenant seul des chaînes de caractères où des types de base étaient lus ou écrits via les flux de données. „Les flux d’objets permettent de lire et d’écrire des types complexes. ‰tutSermaObjectOutppour l’écriture ‰StupaertmjeObInctpour la lecture „Les objets devant être sérialisés (convertis en flux d’octets) doivent implémenter l’interfaceserializable „Les variables de la classe ne peuvent pas être sérialisés. „d’entre elles, on met le mot cléSi on ne veut pas écrire une transientdevant.
9
Cours 4
„Une classe simple; „Les packages; „Les Constructeurs et Destructeurs; „Héritage; „ms;ePolymorphi „Classes abstraites et Interfaces; „Les classes internes; „oi;nlcsuCon „Lectures.
Les constructeurs
„Appel au constructeur lors de l’allocation d’un objet ref =newClassName(arguments); „refune référence de type approprié „newl’opérateur permettant de créer un nouvel objet „ClassNamele nom de classe qui sera crée „argumentsles paramètres passés au constructeur. „Surcharge de constructeurs ‰(dans une même classe) peuvent avoir lePlusieurs méthodes même nom. ‰Mais doivent recevoir des paramètres différents. „Il n'y a pas de destructeurs (delete) comme en C++ ‰le ramasse-miettes automatique s'occupe de tout
10
Destruction et méthode finalize
„Le ramasse-miettes (« garbage collector ») ‰Retourne la mémoire au système quand un objet n’est plus accessible (plus de références). ‰Automatique „Java dispose d’une construction analogue au destructeur C++, mais celui-ci est exécuté lorsqu’un objet est marqué par le ramasse-miettes. ‰Libère les ressources (mais attention asynchronisme et aucune garantie d’exécution ) ‰Méthodefinalize „Définie dansjava.lang.Object „Sans paramètres „Returnevoid
Introduction au polymorphisme
„Polymorpihmse ‰Aide à construire des logiciels extensibles ‰Traiter les objets de façon générique comme des objets de la classe de base. „L’ajout de nouvelles classes dérivée est plus facile „Édition dynamique de liens des méthodes ‰Implante le polymorphisme ‰Utilise des référence à la classe de base pour référer à des objets des classes dérivées ‰Le machine virtuelle choisie l’implantation « correcte » au moment de l’exécution. „Logique duswitch ‰Détermine l’action à prendre grâce au type ‰Plus susceptible de créer des bugs „switchcode, il est facile d’oublier d’en modifier unsont éparpillés dans le
11
Voir icon more
Alternate Text