Programma'on
Orienté Objet JAVA Cheikh MBENGUE
Email: [Link]@[Link]
Site: [Link]
Licence 1 TDSI
UCAD/FST/TDSI
Année académique 2023-2024
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024 1
• Plan
• Introduc)on
Introduc)on • Caractéris)ques du langage Java
• Concepts de base
• Structure d’un programme Java
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informa>que 2023-2024
2
Introduc)on
Introduc)on générale
• La Programma'on Orientée Objet (POO) consiste à modéliser
informa'quement un ensemble d'éléments d'une par'e du monde
réel (que l'on appelle domaine) en un ensemble d'en'tés
informa'ques. Ces en'tés informa'ques sont appelées objets. Il s'agit
de données informa'ques regroupant les principales caractéris'ques
des éléments du monde réel (taille, couleur, ...).
3
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Introduction générale
• Java a été développé à par'r de décembre 1990 par une équipe de
Sun Microsystems dirigée par James Gosling.
• Les fondateurs de Java ont réalisé un langage indépendant de toute
architecture de telle sorte que Java devienne idéal pour programmer
pour des réseaux hétérogènes, notamment Internet.
4
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Caractéris)ques du langage Java
• Portabilité ;
• Indépendance par rapport aux plateformes(os+ architectures).
• Sécurité et robustesse;
• Le compilateur interdit toute manipula;on en mémoire
• En interdisant les manipula;ons directes et dangereuses de la mémoire, Java
offre une couche de sécurité importante. Cela permet de réduire les erreurs
liées à la mémoire et de rendre les applica;ons Java plus robustes et
sécurisées.
• Gratuité;
• Les ou;ls de développement Java sont fournis gratuitement.
• Richesse;
• Disponibilité d’une vaste collec;on de bibliothèques de classes.
5
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Compila)on et exécu)on d’un programme en JAVA
• Exemple
• javac [Link]: Compila)on du fichier source.
CeAe commande va générer un fichier [Link] dans le même répertoire que le
fichier source [Link].
• java MaClasse Exécu)on du programme MaClasse.
CeAe commande est censé exécuter les instruc)on du programme de la classe MaClasse
s’ils sont bien sûr exécutable sinon il génère des erreurs d’exécu)on.
6
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Concepts de base
• Une classe est la structure d'un objet, c'est-à-dire la déclara;on de l'ensemble
des en;tés qui composeront un objet.
• Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un moule. En
réalité on dit qu'un objet est une instancia;on d'une classe, c'est la raison
pour laquelle on pourra parler indifféremment d'objet ou d'instance.
• Une classe est composée de deux par;es:
• Les aAributs ou champs (parfois appelés données membres): il s'agit des données
représentant l'état de l'objet.
• Les méthodes (parfois appelées fonc)ons membres): il s'agit des opéra)ons applicables
aux objets.
7
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduction
Concepts de base
• Illustra;on
8
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Structure d’un programme Java
• Un programme Java utilise un ensemble de classes.
• Les classes sont regroupées par paquetage (en anglais, package).
• Une classe regroupe un ensemble d’attributs et de méthodes.
9
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
• Plan
• Déclara)on d’une classe
• Défini)on d’une méthode
• Les commentaires
• Instruc)ons, blocs et blancs
Syntaxe du langage • Déclara)on d’une variable
• Portée d’une variable
Java • Les opérateurs arithmé)ques élémentaires
• Les opérateurs de comparaison
• Les opérateurs logiques
• Les opérateurs d’affecta)on
• Point d’entrée d’un programme Java
• Exemple de programme
• Compila)on et exécu)on
• Les iden)ficateurs
• Les mots réservés de Java
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informa>que 2023-2024
10
Syntaxe du langage Java
Déclara)on d’une classe
• Le nom de la classe est spécifié derrière le mot clé « class ».
• Le corps de la classe est délimité par des accolades.
• On définit dans le corps les aUributs et les méthodes qui cons;tuent la classe.
11
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Défini)on d’une méthode
• Une méthode est cons;tuée:
• D’un nom.
• D’un type de retour.
• De paramètres ou arguments (éventuellement aucun).
• D’un bloc d’instruc)ons.
• Un paramètre est cons;tué:
• D’un type
• D’un nom
• « void » est le mot-clé signifiant que la méthode ne renvoie pas de valeur.
12
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Défini)on d’une méthode
• Exemple:
13
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les commentaires
• /* Commentaires sur une
ou plusieurs lignes */
• // Commentaires sur une ligne.
• /** Commentaires
d'explica;on */
Les commentaires d'explica;on se placent généralement juste
avant une déclara;on (d'aUribut ou de méthode).
14
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Instruc)ons, blocs et blancs
• Les instruc;ons Java se terminent par un « ; ».
• Les blocs sont délimités par deux accolades:
• { pour le début de bloc
• } pour la fin du bloc
• Un bloc permet de définir un regroupement d’instruc)ons. La défini)on d’une classe ou
d’une méthode se fait dans un bloc.
• Les espaces, tabula;ons, sauts de ligne qui forment l’indenta;on sont
autorisés. Cela permet de présenter un code plus lisible.
• Instruc;ons possibles:
• Déclara)on d’une variable
• Appel de méthode.
• Affecta)on.
• Instruc)on de boucle (while, for...).
• Instruc)on de test (if, switch).
15
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Déclara)on d’une variable
• Une variable possède un type et un nom.
• Le type peut être un type de base(primi;f) ou une classe(composé).
• L’ini;alisa;on d’une variable peut se faire au moment de la déclara;on.
16
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Portée d’une variable
• La portée d’une variable s’étend jusqu’à la fin du bloc dans lequel elle est
définie.
17
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs arithmé)ques élémentaires
• Règles de priorité sur les opérateurs arithmé;ques:
18
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs de comparaison
19
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs logiques
20
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs d’affecta)on
• L’opérateur de base est « = ».
• Il existe des opérateurs d’affecta;on qui réalisent à la fois une opéra;on
arithmé;que et l’affecta;on proprement dite:
21
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Point d’entrée d’un programme Java
• Pour pouvoir faire un programme exécutable il faut toujours une classe qui
con;enne une méthode par;culière: la méthode « main ».
• C’est le point d’entrée dans le programme: le microprocesseur sait qu’il va commencer à
exécuter les instruc)ons à par)r de cet endroit.
22
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Exemple de programme
23
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Exemple de programme
24
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Exemple de programme
25
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Compila)on et exécu)on
26
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Compila)on et exécu)on
• Pour résumer, dans une console DOS ou un terminal, si j’ai un fichier
[Link] pour la classe Bonjour:
• javac [Link]
• javac est la commande qui lance le compilateur Java.
• Compila6on en bytecode java.
• Indica6on des erreurs (éventuelles) de syntaxe.
• Généra6on d’un fichier [Link] s’il n’y a pas d’erreurs.
• java Bonjour
• java est la commande qui lance la machine virtuelle (JVM).
• Exécu6on du bytecode.
• Remarque:
• Nécessité de la méthode main, qui est le point d’entrée dans le programme.
27
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Compila)on et exécu)on
• On peut u;liser ce qu’on appelle un environnement de développement
intégré (IDE) pour compiler et exécuter des applica;ons Java.
• Un IDE Java est un éditeur spécifique du code Java ayant une interface
intui;ve qui permet de faciliter l’édi;on, la compila;on, la correc;on
d’erreurs et l’exécu;on des applica;ons Java.
• Exemples d’IDE Java:
• NetBeans,
• Eclipse,
• VsCode,
• IntelliJ,
• ……..
28
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les iden)ficateurs
• Un iden;ficateur(ou nom) permet de désigner une classe, une méthode, une
variable...
• Règles à respecter pour les iden;ficateurs:
• Interdic)on d’u)liser les mots-clés (mots réservés de Java).
• Les iden)ficateurs peuvent commencer par:
• Une leKre.
• Un « $ ».
• Un « _ » (underscore).
• Les iden)ficateurs ne peuvent pas commencer par:
• Un chiffre.
• Un signe autre que « $ » ou « _ ».
29
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les mots réservés de Java
30
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024