LA PROGRAMMATION ORIENTEE OBJET ET JAVA 

LA PROGRAMMATION ORIENTEE OBJET ET JAVA 

Le concept de la programmation orientée objet

Au cours de ces dernières années, les informaticiens et chercheurs n’ont cessé de trouver des solutions très adaptées pour la réalisation de projets de développement d’applications et de programmation. Vue les évolutions et les résultats de ces recherches, la programmation orientée objet fut développée. Et les nombreux résultats des applications développées avec cette dernière nous montrent sa fiabilité.

Notion d’objet

Un objet se présente sous deux aspects totalement indépendants : – Un objet est référencé ou doté d’identité c’est-à-dire que l’objet en question ne signifie pas qu’il est défini comme valeur mais plutôt référencé en mémoire – Un objet est composé de données et de procédures liées à ces données. Figure 1.01 : Notion d’Objet

 Notion de Classe

 La classe n’est autre que le type ou modèle de l’objet. Elle définit alors la généricité de l’objet. 

Données membres 

Les données membres se présentent sous la forme de champs désignés par l’identificateur et doté d’un type. Par exemple pour l’objet X de type Olona, l’attribut anarana sera de type Chaîne. Ces champs sont généralement des variables qui définissent les propriétés et l’état de l’objet en question. 

 Procédure ou méthode

 La procédure, souvent appelée méthode, définit les possibilités de manipulation d’un tel objet, c’est-à-dire qu’elle défini les opérations possibles pour l’objet courant (this). Dans une classe, on peut rencontrer plusieurs méthodes. La méthode constructrice en est l’initialisatrice. C’est elle qui est à l’origine de la création de l’objet (référencement). Par exemple, pour l’objet de type Olona une méthode définie peut effectuer le changement des données membres de l’objet. Figure 1.02 : Notion de Classe

Notion d’héritage 

L’héritage est la particularité de la programmation orientée objet car sans lui, la programmation par objet ne serait qu’une simple méthodologie pour structurer les programmes. En effet, les langages qui ne sont pas orientées objets, comme Pascal ou C, peuvent utiliser les deux (2) notions précédentes. 5 La notion d’héritage est la spécialisation des objets, c’est-à-dire, elle défini une hiérarchie de type ou classe en allant d’une classe plus généralisée vers une qui soit plus spécialisée. C’est de là qu’intervient la possibilité de l’extension des applications développées par objet

 Quelques langages orientés objets

 Les plus connus sont Java et C++. Mais il y a aussi : Simula, Smalltalk, Turbo Pascal Object, Eiffel. Ces langages sont tous des langages orientés objets donc ils ont en commun les notions énoncées précédemment mais peuvent avoir chacun leur particularité et leur propre définition de ces notions. Néanmoins ces notions leur différencient des anciens langages de programmations. Dans la suite nous parlerons du langage Java car il présente une meilleure implémentation de ces aspects. 

Le langage Java 

Dans ce paragraphe nous allons essayer d’illustrer les notions de la programmation orientée objet à partir de Java. Nous nous focaliserons sur l’utilité de ce langage pour le développement des applications destinées pour les téléphones mobiles. Java est un des langages de programmation qui utilise le concept objet. Il présent sous trois (3) déclinaison : – Java 2 Standard Edition (J2SE) : destinée aux applications scientifiques et autres applications standards – Java 2 Micro Edition (J2ME) : destinée aux applications pour les systèmes embarqués – Java 2 Entreprise Edition (J2EE) : destinée pour les applications d’entreprises

 Petite historique

 Le mot Java signifie en argot de la langue anglaise : café. Le langage Java a été créé durant la dernière décennie du siècle derniers par la firme SUN MICROSYSTEM, dont l’objectif était de créer un environnement indépendant des parties matériels (hardware) mais aussi pour la programmation des autres petites bidules et appareils comme les téléviseurs, les téléphones mobiles, les systèmes embarqués pour les rendre plus interactifs vis-à-vis des utilisateurs.

 Date historique 1993 

 projet Oak (langage pour l’électronique grand public) 6 1995 : Java / HotJava1 à WWW3 Mai 95 : Netscape achète la première License de Java Sept 95 : JDK 1.0 b1 (Java Developpement Kit) Déc. 96 : Microsoft se dit intéressé Jan : JDK 1.0.1 Fin 96: RMI, JDBC, JavaBeans, … Fév. 97: JDK 

 Le début de Java 

A vrai dire, James Gosling voulait créer un langage de programmation indépendant de la plateforme hardware mais le projet Oak fut un échec. Le co-fondateur de la firme Sun Microsystems, Bill Joy, par la suite, proposa une nouvelle version d’Oak qui fut appelée Java et qui avait pour objectif de palier une déficience, dans le domaine des langages de programmation conçus pour des machines et des logiciels hétérogènes, qu’englobe Internet. 

Java : un langage de programmation orientée objet D’après ce que nous avons déjà énoncé, Java est un langage de programmation orienté objet. Ce langage s’exécute sur n’importe quelle plate-forme. C’est un langage compilé et semi-interprété. 

Les avantage de Java par rapport aux autres langages orientés objets

 La robustesse et la sûreté de Java 

Contrairement au langage C++, Java n’implémente pas la notion de poiteur. Son compilateur est très strict car toutes les valeurs doivent être initialisées. De plus, les traitements des exceptions sont obligatoires et les erreurs à l’exécution sont vérifiées tout comme les limites des tableaux. 

 La sécurité 

L’accroissement de la sécurité en résolvant les problèmes liés aux allocations et à la libération explicite de mémoire est le réel avantage de Java en termes de sécurité par rapport aux autres langages. En effet, la désallocation de la mémoire dynamique est automatique grâce au mécanisme de Garbage Collector ou Ramasse Miettes qui est natif à Java. 

 La simplicité 

Tout d’abord, nous pouvons dire que les syntaxes de Java sont très simples à comprendre. Il n’y a pas de préprocesseur, de « #define » du langage C, ou de recours aux fichiers headers. En Java, tous les contraints du langage C ont été éliminés pour ne garder que la notion de classes. 

Portabilité Après compilation des codes Java, le compilateur génère du ByteCode qui sont des instructions binaire destinées pour la Java Virtual machine (JVM). Elle est disponible pour tout type de plateforme et aussi la firme Sun Microsystems offre cet outil gratuitement aux Javari. La compilation des programmes Java s’effectue comme l’indique la figure 1.03 Figure 1.03 : Compilation des programmes fait en JAVA 

 Synthèse des spécifications du langage Java 

En java, tout est objet, excepté les types simples comme les entiers, les caractères, … Ce langage permet intrinsèquement d’avoir un code source réutilisable. De plus, toutes les classes en java dérivent de la classe java.lang.Object. 8 Comme nous l’avons mentionné déjà mentionné auparavant, il n’y a pas d’héritage multiple mais elle est sous une autre forme. On utilise pour cela la notion d’interfaces. Dans les interfaces, la classe est abstraite où toutes les méthodes sont abstraite. Au lieu des pointeurs, Java utilise la notion de référence. Lors de sa création, l’objet est attribut d’une référence mémoire. Une déclaration ne peut pas se référencier à la création d’un objet. La syntaxe et la sémantique du langage Java sont très proches de celles utilisées en C++. Il faut aussi préciser que Java est un langage compilé en un code intermédiaire dit ByteCode, avant de pouvoir être interprété de la même façon sur n’importe quel système. La machine virtuelle ne fait qu’exécuter le programme sans la compiler. Ce qui a été déjà mentionné ci-dessus, la gestion de mémoire est automatisée grâce au « Garbage Collector ». De ce fait, le programmeur ne se préoccupera plus de l’allocation de mémoire, ainsi que sa libération qui était un problème pour la programmation en C. Le traitement des exceptions est obligatoire en Java pour éviter les erreurs d’exécutions lorsqu’on exécute le programme. 

Table des matières

REMERCIEMENTS
LISTE DES ABREVIATIONS
TABLE DES MATIERES
INTRODUCTION GENERALE
CHAPITRE 1. LA PROGRAMMATION ORIENTEE OBJET ET JAVA
1. 1. Le concept de la programmation orientée objet
1. 1. 1. Notion d’objet
1. 1. 2. Notion de Classe
1. 1. 2. 1. Données membres
1. 1. 2. 2. Procédure ou méthode
1. 1. 3. Notion d’héritage
1. 1. 4. Quelques langages orientés objets
1. 2. Le langage Java
1. 2. 1. Petite historique
1. 2. 1. 1. Date historique
1. 2. 1. 2. Le début de Java
1. 2. 2. Java : un langage de programmation orientée objet
1. 2. 2. 1. Les avantage de Java par rapport aux autres langages orientés objets
1. 2. 3. Synthèse des spécifications du langage Java
1. 2. 4. Autres notions
1. 2. 4. 1. Java Runtime Environment ou JRE
1. 2. 4. 2. Java Development Kit ou JDK
1. 2. 4. 3. Version de Java
1. 2. 5. Java 2 Micro Edition ou J2ME
1. 2. 5. 1. Les configurations
1. 2. 5. 2. Le profil
1. 3. Conclusion
CHAPITRE 2. JAVA 2 MICRO EDITION (J2ME)
2. 1. Les configurations et les profils
2. 2. Connected Limited Device Configuration (CLDC)
2. 2. 1. Kilobytes Virtual Machine(KVM)
2. 2. 2. Les paquets prise en compte sous J2ME et les versions de CLDC
2. 2. 2. 1. Le paquet java.lang
2. 2. 2. 2. Le paquet java.util
2. 2. 2. 3. Le paquet java.io
2. 2. 2. 4. Le paquet javax.microedition.io
2. 3. Mobile Information Device Profile (MIDP)
2. 3. 1. Vue d’ensemble sur MIDP
2. 3. 2. Configurations matériels de MIDP
2. 3. 2. 1. Mémoire
2. 3. 2. 2. Affichage
2. 3. 2. 3. Interface d’entrée
2. 3. 2. 4. Connectivité
2. 3. 2. 5. Les versions de MIDP
2. 4. Conclusion
CHAPITRE 3. BLUETOOTH ET LES APPLICATIONS LUDIQUES
3. 1. Bluetooth
3. 1. 1. Architecture Bluetooth
3. 1. 2. Transmission radio et méthode d’accès
3. 1. 3. Piconet and scatternet .
3. 1. 4. Liaison bluetooth
3. 1. 4. 1. Synchronous Connection Oriented (SCO)
3. 1. 4. 2. Asynchronous ConnectionLess (ACL)
3. 1. 4. 3. Logical Link Control and Adaption Protocol (L2CAP)
3. 1. 4. 4. RFCOMM
3. 1. 5. Device discovery et service discovery
3. 1. 6. Normalisation bluetooth
3. 1. 7. Sécurité en bluetooth
3. 1. 7. 1. Modes de sécurité
3. 1. 7. 2. Authentification : pairing et bonding
3. 1. 7. 3. Chiffrement
3. 1. 7. 4. Autorisation
3. 1. 7. 6. Mode 2 : sécurité au niveau des services
3. 2. Les Applications ludiques
3. 2. 1. Définition
3. 2. 2. Les ludiques .
3. 2. 2. 1. Mono ludique
3. 2. 2. 2. Multi ludique
3. 2. 3. Application ludique et la téléphonie mobile
3. 2. 3. 1. Service mobile
3. 2. 3. 2. Service WEB
3. 3. Conclusion
CHAPITRE 4. LES APPICATIONS MOBILES ET JAVA APIS FOR BLUETOOTH WIRELESS
TECHNOLOGY (JABWT)
4. 1. Généralités sur les MIDlets
4. 1. 1. Application OEM-spécifique
4. 1. 2. MIDlet suite
4. 1. 3. Déploiement de MIDlet
4. 1. 4. Environnement d’exécution des MIDlets et leur cycle de vie
4. 1. 4. 1. Constructeur
4. 1. 4. 2. startApp ()
4. 1. 4. 3. pauseApp ()
4. 1. 4. 4. destroyApp()
4. 2. Interfaces utilisateurs en MIDlets
4. 2. 1. Vue d’ensemble de l’interface utilisateur
4. 2. 1. 1. La classe Displayable et Display
4. 2. 1. 2. Le niveau haut et bas de l’APIs de l’interface utilisateur
4. 3. Java APIs for Bluetooth Wireless Technology (JABWT)
4. 3. 1. Le Paquet javax.bluetooth
4. 3. 2. Le paquet de javax.obex
4. 3. 3. Sécurité
4. 4. Conclusion
CHAPITRE 5. INTERFACE UTILISATEUR EN APPLICATION MOBILE
5. 1. L’API de l’interface utilisateur de haut niveau : Screen
5. 1. 1. TextBox
5. 1. 2. Command
5. 1. 2. 1. Constructeur
5. 1. 2. 2. Exemple
5. 1. 3. Form and Item
5. 1. 3. 1. TextField
5. 1. 3. 2. DateField
5. 1. 3. 3. ImageItem
5. 1. 3. 4. Gauge
5. 1. 4. ChoiceGroup et List
5. 1. 5. Alert
5. 1. 5. 1. Title
5. 1. 5. 2. String
5. 1. 5. 3. Image
5. 1. 5. 4. Timeout
5. 1. 5. 5. Type
5. 1. 6. Interaction sonore
5. 2. L’API de l’interface utilisateur de bas niveau
5. 2. 1. La classe Canvas
5. 2. 1. 1. Les manipulations de l’affichage
5. 2. 2. La classe Graphics
5. 2. 2. 1. Les Lignes
5. 2. 2. 2. Rectangles
5. 2. 2. 3. Arcs
5. 2. 3. Translation de l’origine de Graphics
5. 3. Animation en MIDlet
5. 3. 1. Simple animation
5. 3. 2. Clip
5. 4. Image
5. 5. Les interactions
5. 5. 1. Clavier
5. 5. 2. Pointeur
5. 6. Conclusion
CHAPITRE 6. MISE EN ŒUVRE D’UNE APPLICATION LUDIQUE POUR LES systèmeS
MOBILES
6. 1. Jeu d’échec
6. 1. 1. Le jeu
6. 1. 2. Mise en œuvre
6. 1. 2. 1. Outils : Wireless ToolKit
6. 1. 2. 2. Eclipse
6. 1. 3. Application
6. 2. Application utilisant bluetooth
6. 3. Conclusion
CONCLUSION GENERALE
ANNEXE
BIBLIOGRAPHIE

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *