n Extension de classe, méthode et héritage, variables et héritage, constructeurs et héritage o Héritage: compléments.. n classes abstraites et interfaces, classes internes et e[r]
- IUT ST MALO/ JJ MONTOIS - 6
Il m’est difficile, de résister au plaisir de citer dans cet humble cours de java, les célèbres préceptes du non moins célèbre “discours de la méthode”, formulés par notre grand philosophe logicien français, René Descartes. De mon avis, Descartes exprime dans les quatre règles qu’il énonce, l’attitude intellectuelle d’un informaticien face à l’élaboration d’un projet informatique (...et bien d’autres sciences !). J’ose même imaginer que le fameux langage PASCAL à la base de la programmation structurée, eusse pu se nommer le “langage DESCARTES” eut égard aux concepts de la logique du raisonnement, avancés par Descartes; - “cogito ergo sum” - affirmation logique s’il en est! Il eut été justice d’associer son nom à la technologie informatique dans la mesure où Pascal possède déjà un “triangle”, un “pari”, et une machine arithmétique. Voyons ces fameuses règles …
Même si les technologies comme les JavaBeans, les Tag-Libs, les scriptlets ont fait leur apparition et ont montré leur puissance en ce qui concerne l’intégration de code java propre dans les pages de résultat, il reste toujours un problème.
Les JSP sont fournies pour ne fournir qu’un seul type de présentation. Si l’on souhaite créer une application complexe cherchant à présenter les informations de façon différentes en fonction des demandes du client cela devient de plus en plus complexe.
3.2. Les méthodes
Les méthodes sont des groupes d'instructions reliées les unes aux autres au sein d'une classe d'objets qui agissent sur les objets eux-mêmes ou sur les objets d'autres classes.
Ces méthodes servent à accomplir des taches spécifiques, au même titre que les fonctions dans d'autres langages de programmation. Elles sont toujours situées à l'intérieur de la classe. Une méthode d'instance, appelée méthode, s'applique à un objet de la classe. Elle apporte une modification à un objet donné.
Or, on a vu qu'un thread swing gère les événements sur les composants quand ils sont réalisés (=après un appel à setVisible(), show() ou pack()), donc tout code qui. affecte ou dépend [r]
• définir des méthodes de type callback d'une façon générale
Il est possible d'imbriquer plusieurs classes internes. Java ne possède pas de restrictions sur le nombre de classes qu'il est ainsi possible d'imbriquer. En revanche une limitation peut intervenir au niveau du système d'exploitation en ce qui concerne la longueur du nom du fichier .class généré pour les différentes classes internes.
C
C H H A A P P I I T T R R E E I I X X . . I I N N I I T T I I A A T T I I O O N N A A U U L L A A N N G G A A G G E E J J A A V V A A
IX.1 Historique
Java est un langage objet ressemblant au langage C++. Il a été mis au point en 1991par la firme Sun Microsystem. Le but de Java à l'époque était de constituer un langage de programmation pouvant être intégré des appareils électroménagers, afin de pouvoir les contrôler, de les rendre interactifs, et surtout de permettre une communication entre les appareils. Ce programme développement se situait dans un projet appelé Green, visant à créer une télécommande universelle (Star 7) comprenant un OS capable de gérer l'ensemble des appareils électroménagers de la maison. Etant donné que le langage C++ comportait trop de difficulté, James Gosling, un des acteurs du projet (considéré comme le père du Java) décida de créer un langage orienté objet reprenant des caractéristiques principales du C++, en éliminant ses points difficiles, et en le rendant moins encombrant et plus portable (il devait pouvoir intégré n'importe quel appareil..) Ainsi ce langage fut baptisé dans un premier temps Oak (Oak signifiant chêne). Toutefois, puisque ce nom était déjà utilisé, il fut rebaptisé Java en l'honneur de la boisson préférée des développeurs, c.à.d. le café, dans la production provient de l'île de Java.
2.6 Garbage collector 10
2.1 Rôle de la machine virtuelle
La machine virtuelle travaille sur le bytecode, en général obtenu à partir de fichiers sources Java. Elle interprète le bytecode contenu dans les .class ou .jar. Elle peut aussi les compiler à la volée (just-in-time compiler, JIT). La plupart des machines virtuelles modernes peuvent interpréter ou compiler le bytecode. Enfin, certains outils permettent de compiler du bytecode en code natif. A la différence des langages classiques write once, compile anywhere, le langage Java est du type compile once, run anywhere. Le code compilé, le bytecode peut être exécuté indifférement sur une machine virtuelle implémentée pour fonctionner sur Windows, Linux, Android, etc...
Conclusion temporaire sur Python
I Python est un langage orienté objet qui offre des mécanismes très simples et une vue unifié de la programmation par objets.
I Le typage dit dynamique n’a rien à voir avec le typage statique. I Il s’agit d’une décoration des données , des méta-données , permettant à
• factoriser le traitement (1) dans une servlet générique ignorante de l'application qui l'utilise
• déléguer le traitement (2) à des classes externes puisque la servlet générique ne sait pas dans quelle application elle est utilisée
• faire le lien entre l'action demandée par l'utilisateur et la classe qui doit la traiter à l'aide d'un fichier de configuration Des outils, souvent appelés " frameworks ", sont apparus pour apporter les facilités précédentes aux développeurs. Le plus ancien et probablement le plus connu d'entre-eux est Struts (http://struts.apache.org/). Jakarta Struts est un projet de l'Apache Software Foundation (www.apache.org). Ce framework est décrit dans (http://tahe.developpez.com/java/struts/). Apparu plus récemment, le framework Spring (http://www.springframework.org/) offre des facilités analogues à celles de Struts. Son utilisation a été décrite dans plusieurs articles (http://tahe.developpez.com/java/springmvc-part1/).
Plan • Introduction • Concepts de bases • Architecture du framework Spring • Installation de l’environnement Spring • Le conteneur IoC • Définition des beans • Cycle de vie des beans • M[r]
SGML (Standard Generalized Markup Language). La création d'XML est liée à la
complexité de SGML. D'ailleurs, un fichier XML avec sa DTD correspondante peut être traité par un processeur SGML.
XML et Java ont en commun la portabilité réalisée grâce à une indépendance vis à vis du système et de leur environnement.
4.1.2 Commentaires sur une seule ligne
Des commentaires courts peuvent ˆetre plac´es sur une seule ligne indent´ee au niveau du code qui la suit. Si un commentaire ne peut pas ˆetre ´ecrit sur une seule ligne, alors il devrait utiliser une mise en forme de bloc (voir section 4.1.1). Un commentaire en ligne devrait ˆetre pr´ec´ed´e d’une ligne blanche. Voici un exemple dans du code Java (voir aussi la « Documentation javadoc » page 8) : if (condition) {
TCP : une communication de type téléphone I Mode connecté : protocole de prise de connexion (lent) I Sans perte : un message arrive au moins un fois I Sans duplication : un message arriv[r]
Java utilise le codage Unicode, qui est basé sur 2 octets (16 bits), par conséquent on peut coder 65 536 symboles, ce qui permet de couvrir la plus part des symboles utilisés dans le monde. Pour assurer la
portabilité, le compilateur commence par traduire le fichier source en Unicode.
Probl `eme de r ´ep ´etition d’un POST lors d’un rechargement de page : modification effectu ´ee deux fois.. Produit command ´e deux fois au lieu d’une, par exemple...[r]
Le langage permet aussi de mettre toute la fin d'une ligne en commentaire en utilisant le double slash (//). Tout ce qui se situe à droite de ce symbole sera mis en commentaire.
Enfin, un dernier type de commentaires permet de documenter une application, de telle façon que le programme JavaDoc (fourni avec le JDK , Java Development Kit, le kit permettant de compiler du Java), puisse créer des documents HTML à partir de l'application afin de la documenter. Ces commentaires, vus comme des commentaires normaux par Java, sont repérés par les délimiteurs /** et */.
La classe voiture représente donc la structure générale que partagent toutes les voi- tures. Chaque objet de la classe voiture sera construit conformément à cette structure en associant une valeur à chacune des variables.
En J AVA un programme est structuré intégralement sous la forme d’un ensemble de classes. Il n’y a aucune variable globale qui soit externe à une classe. Le code source de chaque classe se trouve stocké dans un fichier qui a pour nom le nom de la classe suivi de « .java ». En principe, ce fichier ne doit contenir que cette classe. En pratique, il est toléré de regrouper plusieurs classes dans le même fichier, mais ce n’est pas conseillé. En particulier, mettre une classe par fichier permet de retro uver le code d’une classe plus rapidement au sein d’un répertoire. Le compilateur émet des messages d’alerte si cette convention n’est pas respectée.