Vous êtes sur la page 1sur 91

Université Cheick Anta Diop

Faculté des Sciences et Techniques


Département de Mathématiques et
Informatique

Introduction à la Programmation Objet en


Java

Préparé par
Ing. Djimnaibeye Sidoine

Filière Transmission des données et sécurité de l’information


Niveau I

Année Académique 2019-2020

Par Naibeye S. (TDSI) JAVA 2019-2020 1 / 29


Plan

1 Description

2 Objectifs

3 Introduction

4 Langage de programmation
Terminologies
Langages de programmation
Historiques

5 Paradigme de la POO

6 Langage Java

Par Naibeye S. (TDSI) JAVA 2019-2020 2 / 29


Plan

1 Description

2 Objectifs

3 Introduction

4 Langage de programmation
Terminologies
Langages de programmation
Historiques

5 Paradigme de la POO

6 Langage Java

Par Naibeye S. (TDSI) JAVA 2019-2020 2 / 29


Plan

1 Description

2 Objectifs

3 Introduction

4 Langage de programmation
Terminologies
Langages de programmation
Historiques

5 Paradigme de la POO

6 Langage Java

Par Naibeye S. (TDSI) JAVA 2019-2020 2 / 29


Plan

1 Description

2 Objectifs

3 Introduction

4 Langage de programmation
Terminologies
Langages de programmation
Historiques

5 Paradigme de la POO

6 Langage Java

Par Naibeye S. (TDSI) JAVA 2019-2020 2 / 29


Plan

1 Description

2 Objectifs

3 Introduction

4 Langage de programmation
Terminologies
Langages de programmation
Historiques

5 Paradigme de la POO

6 Langage Java

Par Naibeye S. (TDSI) JAVA 2019-2020 2 / 29


Plan

1 Description

2 Objectifs

3 Introduction

4 Langage de programmation
Terminologies
Langages de programmation
Historiques

5 Paradigme de la POO

6 Langage Java

Par Naibeye S. (TDSI) JAVA 2019-2020 2 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Description

Description

+ Matière : Introduction à la Programmation orientée Objet


+ Domaine/Filière/Spécialité : Transmission des données et sécurité
de l’information
+ Semestre : 02 | Année Universitaire : 2019/2020
+ Volume Horaire Hebdomadaire Total : 02 Heures
Cours Magistral (Nombre d’heures par semaine) : 01 Heure
Travaux Pratiques (Nombre d’heures par semaine) : 01 Heure
+ Langue d’enseignement : Français
+ Responsable de la matière : M. DJIMNAIBEYE Sidoine
Email : dthekplus@gmail.com
Tel : 00221778629452
+ Périodes de cours : Lundi de 14h30 à 16h30

Par Naibeye S. (TDSI) JAVA 2019-2020 3 / 29


Objectifs

Objectifs

Ce cours a pour objectif d’enseigner le paradigme la programmation


orientée-objet (Classe, Objet, Constructeur, Encapsulation, Héritage, po-
lymorphisme etc.) en insistant sur des notions de programmation plus
approfondies. De façon plus spécifique, ce cours devra permettre à
l’étudiant de :
+ Utiliser un environnement de développement Java .
+ Introduction au concept de POO en JAVA
+ Héritage et encapsulation, surcharge et Polymorphisme

Par Naibeye S. (TDSI) JAVA 2019-2020 4 / 29


Objectifs

Objectifs

Ce cours a pour objectif d’enseigner le paradigme la programmation


orientée-objet (Classe, Objet, Constructeur, Encapsulation, Héritage, po-
lymorphisme etc.) en insistant sur des notions de programmation plus
approfondies. De façon plus spécifique, ce cours devra permettre à
l’étudiant de :
+ Utiliser un environnement de développement Java .
+ Introduction au concept de POO en JAVA
+ Héritage et encapsulation, surcharge et Polymorphisme

Par Naibeye S. (TDSI) JAVA 2019-2020 4 / 29


Objectifs

Objectifs

Ce cours a pour objectif d’enseigner le paradigme la programmation


orientée-objet (Classe, Objet, Constructeur, Encapsulation, Héritage, po-
lymorphisme etc.) en insistant sur des notions de programmation plus
approfondies. De façon plus spécifique, ce cours devra permettre à
l’étudiant de :
+ Utiliser un environnement de développement Java .
+ Introduction au concept de POO en JAVA
+ Héritage et encapsulation, surcharge et Polymorphisme

Par Naibeye S. (TDSI) JAVA 2019-2020 4 / 29


Introduction

pourquoi la P.O.O ?

Programmation modulaire vs P.O.O


La programmation procédurale consiste à écrire des procédures ou
des méthodes qui effectuent des opérations sur les données, tandis
que la programmation orientée objet consiste à créer des objets qui
contiennent à la fois des données et des méthodes.
La programmation orientée objet présente plusieurs avantages par rap-
port à la programmation procédurale :
+ La POO fournit une structure claire pour les programmes
+ La POO rend le code plus facile à maintenir, à modifier et à
déboguer
+ La POO permet de créer des applications entièrement réutilisables
avec moins de code et un temps de développement plus court

Par Naibeye S. (TDSI) JAVA 2019-2020 5 / 29


Introduction

pourquoi la P.O.O ?

Programmation modulaire vs P.O.O


La programmation procédurale consiste à écrire des procédures ou
des méthodes qui effectuent des opérations sur les données, tandis
que la programmation orientée objet consiste à créer des objets qui
contiennent à la fois des données et des méthodes.
La programmation orientée objet présente plusieurs avantages par rap-
port à la programmation procédurale :
+ La POO fournit une structure claire pour les programmes
+ La POO rend le code plus facile à maintenir, à modifier et à
déboguer
+ La POO permet de créer des applications entièrement réutilisables
avec moins de code et un temps de développement plus court

Par Naibeye S. (TDSI) JAVA 2019-2020 5 / 29


Introduction

pourquoi la P.O.O ?

Programmation modulaire vs P.O.O


La programmation procédurale consiste à écrire des procédures ou
des méthodes qui effectuent des opérations sur les données, tandis
que la programmation orientée objet consiste à créer des objets qui
contiennent à la fois des données et des méthodes.
La programmation orientée objet présente plusieurs avantages par rap-
port à la programmation procédurale :
+ La POO fournit une structure claire pour les programmes
+ La POO rend le code plus facile à maintenir, à modifier et à
déboguer
+ La POO permet de créer des applications entièrement réutilisables
avec moins de code et un temps de développement plus court

Par Naibeye S. (TDSI) JAVA 2019-2020 5 / 29


Introduction

pourquoi la P.O.O ?

Programmation modulaire vs P.O.O


La programmation procédurale consiste à écrire des procédures ou
des méthodes qui effectuent des opérations sur les données, tandis
que la programmation orientée objet consiste à créer des objets qui
contiennent à la fois des données et des méthodes.
La programmation orientée objet présente plusieurs avantages par rap-
port à la programmation procédurale :
+ La POO fournit une structure claire pour les programmes
+ La POO rend le code plus facile à maintenir, à modifier et à
déboguer
+ La POO permet de créer des applications entièrement réutilisables
avec moins de code et un temps de développement plus court

Par Naibeye S. (TDSI) JAVA 2019-2020 5 / 29


Langage de programmation

Langage de programmation

Système informatique
Les développeurs utilisent des systèmes informatiques pour concevoir ou
exécuter des programmes. Un environnement informatique est formé
d’une part d’un environnement matériel, et d’autre part d’un environ-
nement logiciel. Les programmes qui forment le logiciel réclament des
méthodes pour les construire, des langages pour les rédiger et des outils
pour les exécuter sur un ordinateur.

Nous introduirons quelques terminologies et les notions de base des or-


dinateurs et de la programmation. Nous présenterons les notions d’en-
vironnement de développement et d’exécution d’un programme tout
en expliquant ce qu’est un langage de programmation

Par Naibeye S. (TDSI) JAVA 2019-2020 6 / 29


Langage de programmation

Langage de programmation

Système informatique
Les développeurs utilisent des systèmes informatiques pour concevoir ou
exécuter des programmes. Un environnement informatique est formé
d’une part d’un environnement matériel, et d’autre part d’un environ-
nement logiciel. Les programmes qui forment le logiciel réclament des
méthodes pour les construire, des langages pour les rédiger et des outils
pour les exécuter sur un ordinateur.

Nous introduirons quelques terminologies et les notions de base des or-


dinateurs et de la programmation. Nous présenterons les notions d’en-
vironnement de développement et d’exécution d’un programme tout
en expliquant ce qu’est un langage de programmation

Par Naibeye S. (TDSI) JAVA 2019-2020 6 / 29


Langage de programmation Terminologies

Terminologies

Ordinateur
Un ordinateur est un système de traitement de l’information program-
mable tel que défini par Turing et qui fonctionne par la lecture séquen-
tielle d’un ensemble d’instructions, organisées en programmes, qui lui
font exécuter des opérations logiques et arithmétiques.

Par Naibeye S. (TDSI) JAVA 2019-2020 7 / 29


Langage de programmation Terminologies

Terminologies

Ordinateur
Un ordinateur est un système de traitement de l’information program-
mable tel que défini par Turing et qui fonctionne par la lecture séquen-
tielle d’un ensemble d’instructions, organisées en programmes, qui lui
font exécuter des opérations logiques et arithmétiques.

Par Naibeye S. (TDSI) JAVA 2019-2020 7 / 29


Langage de programmation Terminologies

Terminologies

Système d’exploitation
Un système d’exploitation est un programme, ou plutôt un ensemble
de programmes, qui assurent la gestion des ressources, matérielles et
logicielles, employées par le ou les utilisateurs.

+ Un système d’exploitation a pour tâche la gestion et la conserva-


tion de l’information (gestion des processus et de la mémoire cen-
trale, système de gestion de fichiers) ;
+ il a pour rôle de créer l’environnement nécessaire à l’exécution
d’un travail, et est chargé de répartir les ressources entre les usagers
+ Entre l’utilisateur et l’ordinateur, le système d’exploitation propose
une interface textuelle au moyen d’un interprète de commandes et
une interface graphique au moyen d’un gestionnaire de fenêtres.

Par Naibeye S. (TDSI) JAVA 2019-2020 8 / 29


Langage de programmation Terminologies

Terminologies

Système d’exploitation
Un système d’exploitation est un programme, ou plutôt un ensemble
de programmes, qui assurent la gestion des ressources, matérielles et
logicielles, employées par le ou les utilisateurs.

+ Un système d’exploitation a pour tâche la gestion et la conserva-


tion de l’information (gestion des processus et de la mémoire cen-
trale, système de gestion de fichiers) ;
+ il a pour rôle de créer l’environnement nécessaire à l’exécution
d’un travail, et est chargé de répartir les ressources entre les usagers
+ Entre l’utilisateur et l’ordinateur, le système d’exploitation propose
une interface textuelle au moyen d’un interprète de commandes et
une interface graphique au moyen d’un gestionnaire de fenêtres.

Par Naibeye S. (TDSI) JAVA 2019-2020 8 / 29


Langage de programmation Terminologies

Terminologies

Système d’exploitation
Un système d’exploitation est un programme, ou plutôt un ensemble
de programmes, qui assurent la gestion des ressources, matérielles et
logicielles, employées par le ou les utilisateurs.

+ Un système d’exploitation a pour tâche la gestion et la conserva-


tion de l’information (gestion des processus et de la mémoire cen-
trale, système de gestion de fichiers) ;
+ il a pour rôle de créer l’environnement nécessaire à l’exécution
d’un travail, et est chargé de répartir les ressources entre les usagers
+ Entre l’utilisateur et l’ordinateur, le système d’exploitation propose
une interface textuelle au moyen d’un interprète de commandes et
une interface graphique au moyen d’un gestionnaire de fenêtres.

Par Naibeye S. (TDSI) JAVA 2019-2020 8 / 29


Langage de programmation Terminologies

Terminologies

Système d’exploitation
Un système d’exploitation est un programme, ou plutôt un ensemble
de programmes, qui assurent la gestion des ressources, matérielles et
logicielles, employées par le ou les utilisateurs.

+ Un système d’exploitation a pour tâche la gestion et la conserva-


tion de l’information (gestion des processus et de la mémoire cen-
trale, système de gestion de fichiers) ;
+ il a pour rôle de créer l’environnement nécessaire à l’exécution
d’un travail, et est chargé de répartir les ressources entre les usagers
+ Entre l’utilisateur et l’ordinateur, le système d’exploitation propose
une interface textuelle au moyen d’un interprète de commandes et
une interface graphique au moyen d’un gestionnaire de fenêtres.

Par Naibeye S. (TDSI) JAVA 2019-2020 8 / 29


Langage de programmation Terminologies

Terminologies
Traitement de l’information
Le traitement de l’information est l’exécution par l’ordinateur d’une sé-
rie finie des instructions préparées à l’avance, le programme, qui vise à
calculer et rendre des résultats, généralement, en fonction de données
entrées au début ou en cours d’exécution par l’intermédiaire d’inter-
faces textuelles ou graphiques.

Les instructions qui forment le programme sont décrites au moyen d’un


langage. Si ces instructions se suivent strictement dans le temps, et ne
s’exécutent jamais simultanément, l’exécution est dite séquentielle, si-
non elle est dite parallèle.

Instructions
Les instructions qui forment le programme sont décrites au moyen d’un
langage. Si ces instructions se suivent strictement dans le temps, et ne
s’exécutent jamais simultanément, l’exécution est dite séquentielle, si-
non elle est dite parallèle.
Par Naibeye S. (TDSI) JAVA 2019-2020 9 / 29
Langage de programmation Terminologies

Terminologies
Traitement de l’information
Le traitement de l’information est l’exécution par l’ordinateur d’une sé-
rie finie des instructions préparées à l’avance, le programme, qui vise à
calculer et rendre des résultats, généralement, en fonction de données
entrées au début ou en cours d’exécution par l’intermédiaire d’inter-
faces textuelles ou graphiques.

Les instructions qui forment le programme sont décrites au moyen d’un


langage. Si ces instructions se suivent strictement dans le temps, et ne
s’exécutent jamais simultanément, l’exécution est dite séquentielle, si-
non elle est dite parallèle.

Instructions
Les instructions qui forment le programme sont décrites au moyen d’un
langage. Si ces instructions se suivent strictement dans le temps, et ne
s’exécutent jamais simultanément, l’exécution est dite séquentielle, si-
non elle est dite parallèle.
Par Naibeye S. (TDSI) JAVA 2019-2020 9 / 29
Langage de programmation Terminologies

Terminologies
Traitement de l’information
Le traitement de l’information est l’exécution par l’ordinateur d’une sé-
rie finie des instructions préparées à l’avance, le programme, qui vise à
calculer et rendre des résultats, généralement, en fonction de données
entrées au début ou en cours d’exécution par l’intermédiaire d’inter-
faces textuelles ou graphiques.

Les instructions qui forment le programme sont décrites au moyen d’un


langage. Si ces instructions se suivent strictement dans le temps, et ne
s’exécutent jamais simultanément, l’exécution est dite séquentielle, si-
non elle est dite parallèle.

Instructions
Les instructions qui forment le programme sont décrites au moyen d’un
langage. Si ces instructions se suivent strictement dans le temps, et ne
s’exécutent jamais simultanément, l’exécution est dite séquentielle, si-
non elle est dite parallèle.
Par Naibeye S. (TDSI) JAVA 2019-2020 9 / 29
Langage de programmation Terminologies

Terminologies

Langage Machine
Le langage machine est un ensemble des instructions élémentaires
représentées en code binaire qu’il est possible de faire exécuter par
l’unité centrale de traitement d’un ordinateur donné. Le seul langage
que comprend l’ordinateur est son langage machine.

Tout logiciel est écrit à l’aide d’un ou plusieurs langages de program-


mation.
Langage de programmation
Un langage de programmation est un ensemble d’énoncés détermi-
nistes, qu’il est possible, pour un être humain, de rédiger selon les règles
d’une grammaire donnée, et destinés à représenter les objets et les ins-
tructions pouvant entrer dans la constitution d’un programme.

Par Naibeye S. (TDSI) JAVA 2019-2020 10 / 29


Langage de programmation Terminologies

Terminologies

Langage Machine
Le langage machine est un ensemble des instructions élémentaires
représentées en code binaire qu’il est possible de faire exécuter par
l’unité centrale de traitement d’un ordinateur donné. Le seul langage
que comprend l’ordinateur est son langage machine.

Tout logiciel est écrit à l’aide d’un ou plusieurs langages de program-


mation.
Langage de programmation
Un langage de programmation est un ensemble d’énoncés détermi-
nistes, qu’il est possible, pour un être humain, de rédiger selon les règles
d’une grammaire donnée, et destinés à représenter les objets et les ins-
tructions pouvant entrer dans la constitution d’un programme.

Par Naibeye S. (TDSI) JAVA 2019-2020 10 / 29


Langage de programmation Terminologies

Terminologies

Langage Machine
Le langage machine est un ensemble des instructions élémentaires
représentées en code binaire qu’il est possible de faire exécuter par
l’unité centrale de traitement d’un ordinateur donné. Le seul langage
que comprend l’ordinateur est son langage machine.

Tout logiciel est écrit à l’aide d’un ou plusieurs langages de program-


mation.
Langage de programmation
Un langage de programmation est un ensemble d’énoncés détermi-
nistes, qu’il est possible, pour un être humain, de rédiger selon les règles
d’une grammaire donnée, et destinés à représenter les objets et les ins-
tructions pouvant entrer dans la constitution d’un programme.

Par Naibeye S. (TDSI) JAVA 2019-2020 10 / 29


Langage de programmation Terminologies

Terminologies

Langage d’assemblage
Le langage d’assemblage est un codage alphanumérique du langage
machine. Il est plus lisible et surtout permet un adressage relatif de la
mémoire.

Toutefois, comme le langage machine, le langage d’assemblage est lui


aussi dépendant d’un ordinateur donné et ne facilite pas le transport
des programmes vers des machines dont l’architecture est différente.
L’exécution d’un programme écrit en langage d’assemblage nécessite
sa traduction préalable en langage machine par un programme spé-
cial, l’assembleur.
Le langage d’assemblage, comme le langage machine, est d’un ni-
veau très élémentaire guère lisible et compréhensible. Son utilisation par
un être humain est alors difficile, fastidieuse et sujette à erreurs.

Par Naibeye S. (TDSI) JAVA 2019-2020 11 / 29


Langage de programmation Terminologies

Terminologies

Langage d’assemblage
Le langage d’assemblage est un codage alphanumérique du langage
machine. Il est plus lisible et surtout permet un adressage relatif de la
mémoire.

Toutefois, comme le langage machine, le langage d’assemblage est lui


aussi dépendant d’un ordinateur donné et ne facilite pas le transport
des programmes vers des machines dont l’architecture est différente.
L’exécution d’un programme écrit en langage d’assemblage nécessite
sa traduction préalable en langage machine par un programme spé-
cial, l’assembleur.
Le langage d’assemblage, comme le langage machine, est d’un ni-
veau très élémentaire guère lisible et compréhensible. Son utilisation par
un être humain est alors difficile, fastidieuse et sujette à erreurs.

Par Naibeye S. (TDSI) JAVA 2019-2020 11 / 29


Langage de programmation Terminologies

Terminologies

Langage d’assemblage
Le langage d’assemblage est un codage alphanumérique du langage
machine. Il est plus lisible et surtout permet un adressage relatif de la
mémoire.

Toutefois, comme le langage machine, le langage d’assemblage est lui


aussi dépendant d’un ordinateur donné et ne facilite pas le transport
des programmes vers des machines dont l’architecture est différente.
L’exécution d’un programme écrit en langage d’assemblage nécessite
sa traduction préalable en langage machine par un programme spé-
cial, l’assembleur.
Le langage d’assemblage, comme le langage machine, est d’un ni-
veau très élémentaire guère lisible et compréhensible. Son utilisation par
un être humain est alors difficile, fastidieuse et sujette à erreurs.

Par Naibeye S. (TDSI) JAVA 2019-2020 11 / 29


Langage de programmation Langages de programmation

Langages de programmation

Le langage d’assemblage, comme le langage machine, est d’un ni-


veau très élémentaire guère lisible et compréhensible. Son utilisation par
un être humain est alors difficile, fastidieuse et sujette à erreurs.
Ces défauts, entre autres, ont conduit à la conception des langages de
programmation dits de haut niveau.

Langage de programmation de haut niveau


Un langage de programmation de haut niveau offrira au programmeur
des moyens d’expression structurés proches des problèmes à résoudre
et qui amélioreront la fiabilité des programmes.

Par Naibeye S. (TDSI) JAVA 2019-2020 12 / 29


Langage de programmation Langages de programmation

Par Naibeye S. (TDSI) JAVA 2019-2020 12 / 29


Langage de programmation Langages de programmation

Langages de programmation

Le langage d’assemblage, comme le langage machine, est d’un ni-


veau très élémentaire guère lisible et compréhensible. Son utilisation par
un être humain est alors difficile, fastidieuse et sujette à erreurs.
Ces défauts, entre autres, ont conduit à la conception des langages de
programmation dits de haut niveau.

Langage de programmation de haut niveau


Un langage de programmation de haut niveau offrira au programmeur
des moyens d’expression structurés proches des problèmes à résoudre
et qui amélioreront la fiabilité des programmes.

Par Naibeye S. (TDSI) JAVA 2019-2020 12 / 29


Langage de programmation Langages de programmation

Par Naibeye S. (TDSI) JAVA 2019-2020 12 / 29


Langage de programmation Langages de programmation

Langages de programmation

Le langage d’assemblage, comme le langage machine, est d’un ni-


veau très élémentaire guère lisible et compréhensible. Son utilisation par
un être humain est alors difficile, fastidieuse et sujette à erreurs.
Ces défauts, entre autres, ont conduit à la conception des langages de
programmation dits de haut niveau.

Langage de programmation de haut niveau


Un langage de programmation de haut niveau offrira au programmeur
des moyens d’expression structurés proches des problèmes à résoudre
et qui amélioreront la fiabilité des programmes.

Par Naibeye S. (TDSI) JAVA 2019-2020 12 / 29


Langage de programmation Langages de programmation

Par Naibeye S. (TDSI) JAVA 2019-2020 12 / 29


Langage de programmation Langages de programmation

Langages de programmation

La définition d’un langage de programmation recouvre trois aspects


fondamentaux.
Aspect lexical
Le premier, appelé lexical, définit les symboles (ou caractères) qui
servent à la rédaction des programmes et les règles de formation des
mots du langage.

Aspect syntaxique
Le second, appelé syntaxique, est l’ensemble des règles grammaticales
qui organisent les mots en phrases.

Aspect sémantique
Le dernier aspect, appelé sémantique, étudie la signification des
phrases. Il définit les règles qui donnent un sens aux phrases.

Par Naibeye S. (TDSI) JAVA 2019-2020 13 / 29


Langage de programmation Langages de programmation

Langages de programmation

La définition d’un langage de programmation recouvre trois aspects


fondamentaux.
Aspect lexical
Le premier, appelé lexical, définit les symboles (ou caractères) qui
servent à la rédaction des programmes et les règles de formation des
mots du langage.

Aspect syntaxique
Le second, appelé syntaxique, est l’ensemble des règles grammaticales
qui organisent les mots en phrases.

Aspect sémantique
Le dernier aspect, appelé sémantique, étudie la signification des
phrases. Il définit les règles qui donnent un sens aux phrases.

Par Naibeye S. (TDSI) JAVA 2019-2020 13 / 29


Langage de programmation Langages de programmation

Langages de programmation

La définition d’un langage de programmation recouvre trois aspects


fondamentaux.
Aspect lexical
Le premier, appelé lexical, définit les symboles (ou caractères) qui
servent à la rédaction des programmes et les règles de formation des
mots du langage.

Aspect syntaxique
Le second, appelé syntaxique, est l’ensemble des règles grammaticales
qui organisent les mots en phrases.

Aspect sémantique
Le dernier aspect, appelé sémantique, étudie la signification des
phrases. Il définit les règles qui donnent un sens aux phrases.

Par Naibeye S. (TDSI) JAVA 2019-2020 13 / 29


Langage de programmation Langages de programmation

Mode d’exécution

La définition d’un langage de programmation recouvre trois aspects


fondamentaux.
Compilation
Elle consiste à traduire le programme, appelé source, écrit dans le lan-
gage de haut niveau, en un programme sémantiquement équivalent
écrit dans le langage machine de l’ordinateur. Cette traduction est
faite au moyen d’un logiciel spécialisé appelé compilateur.

Compilateur
Un compilateur possède au moins quatre phases : trois phases d’ana-
lyse (lexicale, syntaxique et sémantique), et une phase de production
de code machine. Bien sûr, le compilateur ne produit le code machine
que si le programme source respecte les règles du langage, sinon il de-
vra signaler les erreurs au moyen de messages précis.

Par Naibeye S. (TDSI) JAVA 2019-2020 14 / 29


Langage de programmation Langages de programmation

Mode d’exécution

La définition d’un langage de programmation recouvre trois aspects


fondamentaux.
Compilation
Elle consiste à traduire le programme, appelé source, écrit dans le lan-
gage de haut niveau, en un programme sémantiquement équivalent
écrit dans le langage machine de l’ordinateur. Cette traduction est
faite au moyen d’un logiciel spécialisé appelé compilateur.

Compilateur
Un compilateur possède au moins quatre phases : trois phases d’ana-
lyse (lexicale, syntaxique et sémantique), et une phase de production
de code machine. Bien sûr, le compilateur ne produit le code machine
que si le programme source respecte les règles du langage, sinon il de-
vra signaler les erreurs au moyen de messages précis.

Par Naibeye S. (TDSI) JAVA 2019-2020 14 / 29


Langage de programmation Langages de programmation

Mode d’exécution

Interprétation
Elle consiste à simuler le fonctionnement d’un ordinateur virtuel sur l’or-
dinateur réel par interprétation des instructions du langage de pro-
grammation de haut niveau. Le logiciel qui effectue cette interprétation
s’appelle un interprète.

Fonctionnement
L’interprétation directe des instructions du langage est en général dif-
ficilement réalisable. Une première phase de traduction du langage
de haut niveau vers un langage intermédiaire de plus bas niveau est
d’abord effectuée. L’interprétation est alors faite sur le langage inter-
médiaire

Par Naibeye S. (TDSI) JAVA 2019-2020 15 / 29


Langage de programmation Langages de programmation

Mode d’exécution

Interprétation
Elle consiste à simuler le fonctionnement d’un ordinateur virtuel sur l’or-
dinateur réel par interprétation des instructions du langage de pro-
grammation de haut niveau. Le logiciel qui effectue cette interprétation
s’appelle un interprète.

Fonctionnement
L’interprétation directe des instructions du langage est en général dif-
ficilement réalisable. Une première phase de traduction du langage
de haut niveau vers un langage intermédiaire de plus bas niveau est
d’abord effectuée. L’interprétation est alors faite sur le langage inter-
médiaire

Par Naibeye S. (TDSI) JAVA 2019-2020 15 / 29


Langage de programmation Historiques

Historiques

+ FORTRAN (Formula Translator)fut le premier traducteur en langage


machine d’une notation algébrique pour écrire des formules
mathématiques. Il fut conçu à IBM à partir de 1954
+ LISP (List Processor) a été développé à partir de la fin de l’ année
1958 par J. MCCARTHY au MIT (Massachusetts Institute of
Technology) pour le traitement de données symboliques (i.e. non
numériques) dans le domaine de l’intelligence artificielle ;
+ ALGOL 60 (Algorithmic Language)est le premier langage défini par
un comité international, le premier à séparer les aspects lexicaux
et syntaxiques, à donner une définition syntaxique formelle, la
Forme de BACKUS-NAUR

Par Naibeye S. (TDSI) JAVA 2019-2020 16 / 29


Langage de programmation Historiques

Historiques

+ FORTRAN (Formula Translator)fut le premier traducteur en langage


machine d’une notation algébrique pour écrire des formules
mathématiques. Il fut conçu à IBM à partir de 1954
+ LISP (List Processor) a été développé à partir de la fin de l’ année
1958 par J. MCCARTHY au MIT (Massachusetts Institute of
Technology) pour le traitement de données symboliques (i.e. non
numériques) dans le domaine de l’intelligence artificielle ;
+ ALGOL 60 (Algorithmic Language)est le premier langage défini par
un comité international, le premier à séparer les aspects lexicaux
et syntaxiques, à donner une définition syntaxique formelle, la
Forme de BACKUS-NAUR

Par Naibeye S. (TDSI) JAVA 2019-2020 16 / 29


Langage de programmation Historiques

Historiques

+ FORTRAN (Formula Translator)fut le premier traducteur en langage


machine d’une notation algébrique pour écrire des formules
mathématiques. Il fut conçu à IBM à partir de 1954
+ LISP (List Processor) a été développé à partir de la fin de l’ année
1958 par J. MCCARTHY au MIT (Massachusetts Institute of
Technology) pour le traitement de données symboliques (i.e. non
numériques) dans le domaine de l’intelligence artificielle ;
+ ALGOL 60 (Algorithmic Language)est le premier langage défini par
un comité international, le premier à séparer les aspects lexicaux
et syntaxiques, à donner une définition syntaxique formelle, la
Forme de BACKUS-NAUR

Par Naibeye S. (TDSI) JAVA 2019-2020 16 / 29


Langage de programmation Historiques

Historiques

+ Le langage C a été développé en 1972 par D. RITCHIE pour la


récriture du système d’exploitation UNIX. Conçu à l’origine comme
langage d’écriture de système, ce langage est utilisé pour la
programmation de toutes sortes d’applications.
+ Les langages des années 1980-1990, dans le domaine du génie
logiciel, mettent en avant le concept de la programmation objet.
SMALLTALK , C++ (issu de C), EIFFEL , ou JAVA sont, parmi les très
nombreux langages à objets, les plus connus.
+ Plusieurs langages dits multiparadigme ont vu le jour ces dernières
années. Parmi eux,nous avons , les langages PYTHON, RUBY et
SCALA . Les deux premiers langages sont à typage dynamique
(vérification de la cohérence des types de données à l’exécution)
et incluent les paradigmes fonctionnel et objet.

Par Naibeye S. (TDSI) JAVA 2019-2020 17 / 29


Langage de programmation Historiques

Historiques

+ Le langage C a été développé en 1972 par D. RITCHIE pour la


récriture du système d’exploitation UNIX. Conçu à l’origine comme
langage d’écriture de système, ce langage est utilisé pour la
programmation de toutes sortes d’applications.
+ Les langages des années 1980-1990, dans le domaine du génie
logiciel, mettent en avant le concept de la programmation objet.
SMALLTALK , C++ (issu de C), EIFFEL , ou JAVA sont, parmi les très
nombreux langages à objets, les plus connus.
+ Plusieurs langages dits multiparadigme ont vu le jour ces dernières
années. Parmi eux,nous avons , les langages PYTHON, RUBY et
SCALA . Les deux premiers langages sont à typage dynamique
(vérification de la cohérence des types de données à l’exécution)
et incluent les paradigmes fonctionnel et objet.

Par Naibeye S. (TDSI) JAVA 2019-2020 17 / 29


Langage de programmation Historiques

Historiques

+ Le langage C a été développé en 1972 par D. RITCHIE pour la


récriture du système d’exploitation UNIX. Conçu à l’origine comme
langage d’écriture de système, ce langage est utilisé pour la
programmation de toutes sortes d’applications.
+ Les langages des années 1980-1990, dans le domaine du génie
logiciel, mettent en avant le concept de la programmation objet.
SMALLTALK , C++ (issu de C), EIFFEL , ou JAVA sont, parmi les très
nombreux langages à objets, les plus connus.
+ Plusieurs langages dits multiparadigme ont vu le jour ces dernières
années. Parmi eux,nous avons , les langages PYTHON, RUBY et
SCALA . Les deux premiers langages sont à typage dynamique
(vérification de la cohérence des types de données à l’exécution)
et incluent les paradigmes fonctionnel et objet.

Par Naibeye S. (TDSI) JAVA 2019-2020 17 / 29


Langage de programmation Historiques

Conclusion

L’activité de programmation est difficile et complexe. Le but de tout


programme est de calculer et retourner des résultats valides et.fiables.
Quelle que soit la taille des programmes, de quelques dizaines de lignes
à plusieurs centaines de milliers, la conception des programmes exige
des méthodes rigoureuses, si les objectifs de justesse et de fiabilité veulent
être atteints.
N. WIRTH
« L’expérimentation des programmes peut servir à montrer la présence
d’erreurs, mais jamais à prouver leur absence. »

Par Naibeye S. (TDSI) JAVA 2019-2020 18 / 29


Langage de programmation Historiques

Conclusion

L’activité de programmation est difficile et complexe. Le but de tout


programme est de calculer et retourner des résultats valides et.fiables.
Quelle que soit la taille des programmes, de quelques dizaines de lignes
à plusieurs centaines de milliers, la conception des programmes exige
des méthodes rigoureuses, si les objectifs de justesse et de fiabilité veulent
être atteints.
N. WIRTH
« L’expérimentation des programmes peut servir à montrer la présence
d’erreurs, mais jamais à prouver leur absence. »

Par Naibeye S. (TDSI) JAVA 2019-2020 18 / 29


Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Définition
Définition :
La programmation orientée objet vise à implémenter des entités du
monde réel comme l’héritage, le masquage, le polymorphisme, etc.
dans la programmation. L’objectif principal de la programmation
orientée objet est de lier les données et les fonctions qui fonctionnent
sur elles de sorte qu’aucune autre partie du code ne puisse accéder à
ces données, à l’exception de cette fonction.

Concepts des POO :


+ Polymorphisme
+ Héritage
+ Encapsulation
+ Abstraction
+ Classe
+ Objet
+ Méthode
+ Passage des messages
Par Naibeye S. (TDSI) JAVA 2019-2020 19 / 29
Paradigme de la POO

Concepts du paradigme de la POO

+ Une classe est un un prototype défini par l’utilisateur à partir duquel


des objets sont créés. Elle représente l’ensemble des propriétés ou
des méthodes communes à tous les objets d’un même type.
+ Un objet une unité de base de la programmation orientée objet et
représente les entités de la vie réelle. Un programme Java typique
crée de nombreux objets qui, comme vous le savez, interagissent
en invoquant des méthodes.

Par Naibeye S. (TDSI) JAVA 2019-2020 20 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ Une classe est un un prototype défini par l’utilisateur à partir duquel


des objets sont créés. Elle représente l’ensemble des propriétés ou
des méthodes communes à tous les objets d’un même type.
+ Un objet une unité de base de la programmation orientée objet et
représente les entités de la vie réelle. Un programme Java typique
crée de nombreux objets qui, comme vous le savez, interagissent
en invoquant des méthodes.

Par Naibeye S. (TDSI) JAVA 2019-2020 20 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ Une méthode est un ensemble d’instructions qui effectuent une


tâche spécifique et renvoient le résultat à l’appelant. Une
méthode peut exécuter une tâche spécifique sans rien renvoyer.
Les méthodes nous permettent de réutiliser le code sans avoir à le
retaper.
+ Les objets communiquent entre eux en s’envoyant et en recevant
des informations. Un message pour un objet est une demande
d’exécution d’une procédure et invoquera donc une fonction
dans l’objet récepteur qui génère les résultats souhaités. Le
passage d’un message implique de spécifier le nom de l’objet, le
nom de la fonction et les informations à envoyer.

Par Naibeye S. (TDSI) JAVA 2019-2020 21 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ Une méthode est un ensemble d’instructions qui effectuent une


tâche spécifique et renvoient le résultat à l’appelant. Une
méthode peut exécuter une tâche spécifique sans rien renvoyer.
Les méthodes nous permettent de réutiliser le code sans avoir à le
retaper.
+ Les objets communiquent entre eux en s’envoyant et en recevant
des informations. Un message pour un objet est une demande
d’exécution d’une procédure et invoquera donc une fonction
dans l’objet récepteur qui génère les résultats souhaités. Le
passage d’un message implique de spécifier le nom de l’objet, le
nom de la fonction et les informations à envoyer.

Par Naibeye S. (TDSI) JAVA 2019-2020 21 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ Le polymorphisme fait référence à la capacité des langages de


programmation de POO à différencier efficacement les entités
portant le même nom.
+ L’héritage est un pilier important de la programmation orientée
objet (OOP). C’est le mécanisme en java par lequel une classe est
autorisée à hériter des caractéristiques (champs et méthodes)
d’une autre classe.

Par Naibeye S. (TDSI) JAVA 2019-2020 22 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ Le polymorphisme fait référence à la capacité des langages de


programmation de POO à différencier efficacement les entités
portant le même nom.
+ L’héritage est un pilier important de la programmation orientée
objet (OOP). C’est le mécanisme en java par lequel une classe est
autorisée à hériter des caractéristiques (champs et méthodes)
d’une autre classe.

Par Naibeye S. (TDSI) JAVA 2019-2020 22 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ L’encapsulation est définie comme le regroupement de données


sous une seule unité. C’est le mécanisme qui lie les fonctions et les
données qu’il manipule. Une autre façon de concevoir
l’encapsulation est de penser qu’il s’agit d’un bouclier protecteur
qui empêche l’accès aux données par le code en dehors de ce
bouclier.
+ L’abstraction de données est la propriété en vertu de laquelle seuls
les détails essentiels sont affichés à l’utilisateur, les unités triviales ou
non essentielles ne sont pas affichées à l’utilisateur. Ex : Une voiture
est considérée comme une voiture plutôt que ses composants
individuels.

Par Naibeye S. (TDSI) JAVA 2019-2020 23 / 29


Paradigme de la POO

Concepts du paradigme de la POO

+ L’encapsulation est définie comme le regroupement de données


sous une seule unité. C’est le mécanisme qui lie les fonctions et les
données qu’il manipule. Une autre façon de concevoir
l’encapsulation est de penser qu’il s’agit d’un bouclier protecteur
qui empêche l’accès aux données par le code en dehors de ce
bouclier.
+ L’abstraction de données est la propriété en vertu de laquelle seuls
les détails essentiels sont affichés à l’utilisateur, les unités triviales ou
non essentielles ne sont pas affichées à l’utilisateur. Ex : Une voiture
est considérée comme une voiture plutôt que ses composants
individuels.

Par Naibeye S. (TDSI) JAVA 2019-2020 23 / 29


Langage Java

JAVA
Java est l’un des langages de programmation et l’une des plateformes
les plus populaires et les plus utilisés.
+ Java est l’un des langages de programmation les plus populaires
depuis de nombreuses années.
+ Java est orienté objet. Cependant, il n’est pas considéré comme
étant purement orienté objet car il fournit un support pour des
types de données primitives (comme int, char, etc)
+ Les codes Java sont d’abord compilés en code d’octet (code
indépendant de la machine). Ensuite, le byte-code est exécuté sur
la machine virtuelle Java (JVM), quelle que soit l’architecture
sous-jacente.
+ La syntaxe de Java est similaire à celle du C/C++. Mais Java ne
fournit pas de fonctionnalités de programmation de bas niveau
comme les pointeurs. De plus, les codes Java sont toujours écrits
sous forme de classes et d’objets.
+ Java est utilisé dans toutes sortes d’applications comme les
applications mobiles (Android est basé sur Java), les applications
de bureau, les applications web, les applications client-serveur, les
applications
Par Naibeye S. (TDSI) d’entreprise et bien
JAVA d’autres. 2019-2020 24 / 29
Langage Java

JAVA
Java est l’un des langages de programmation et l’une des plateformes
les plus populaires et les plus utilisés.
+ Java est l’un des langages de programmation les plus populaires
depuis de nombreuses années.
+ Java est orienté objet. Cependant, il n’est pas considéré comme
étant purement orienté objet car il fournit un support pour des
types de données primitives (comme int, char, etc)
+ Les codes Java sont d’abord compilés en code d’octet (code
indépendant de la machine). Ensuite, le byte-code est exécuté sur
la machine virtuelle Java (JVM), quelle que soit l’architecture
sous-jacente.
+ La syntaxe de Java est similaire à celle du C/C++. Mais Java ne
fournit pas de fonctionnalités de programmation de bas niveau
comme les pointeurs. De plus, les codes Java sont toujours écrits
sous forme de classes et d’objets.
+ Java est utilisé dans toutes sortes d’applications comme les
applications mobiles (Android est basé sur Java), les applications
de bureau, les applications web, les applications client-serveur, les
applications
Par Naibeye S. (TDSI) d’entreprise et bien
JAVA d’autres. 2019-2020 24 / 29
Langage Java

JAVA
Java est l’un des langages de programmation et l’une des plateformes
les plus populaires et les plus utilisés.
+ Java est l’un des langages de programmation les plus populaires
depuis de nombreuses années.
+ Java est orienté objet. Cependant, il n’est pas considéré comme
étant purement orienté objet car il fournit un support pour des
types de données primitives (comme int, char, etc)
+ Les codes Java sont d’abord compilés en code d’octet (code
indépendant de la machine). Ensuite, le byte-code est exécuté sur
la machine virtuelle Java (JVM), quelle que soit l’architecture
sous-jacente.
+ La syntaxe de Java est similaire à celle du C/C++. Mais Java ne
fournit pas de fonctionnalités de programmation de bas niveau
comme les pointeurs. De plus, les codes Java sont toujours écrits
sous forme de classes et d’objets.
+ Java est utilisé dans toutes sortes d’applications comme les
applications mobiles (Android est basé sur Java), les applications
de bureau, les applications web, les applications client-serveur, les
applications
Par Naibeye S. (TDSI) d’entreprise et bien
JAVA d’autres. 2019-2020 24 / 29
Langage Java

JAVA
Java est l’un des langages de programmation et l’une des plateformes
les plus populaires et les plus utilisés.
+ Java est l’un des langages de programmation les plus populaires
depuis de nombreuses années.
+ Java est orienté objet. Cependant, il n’est pas considéré comme
étant purement orienté objet car il fournit un support pour des
types de données primitives (comme int, char, etc)
+ Les codes Java sont d’abord compilés en code d’octet (code
indépendant de la machine). Ensuite, le byte-code est exécuté sur
la machine virtuelle Java (JVM), quelle que soit l’architecture
sous-jacente.
+ La syntaxe de Java est similaire à celle du C/C++. Mais Java ne
fournit pas de fonctionnalités de programmation de bas niveau
comme les pointeurs. De plus, les codes Java sont toujours écrits
sous forme de classes et d’objets.
+ Java est utilisé dans toutes sortes d’applications comme les
applications mobiles (Android est basé sur Java), les applications
de bureau, les applications web, les applications client-serveur, les
applications
Par Naibeye S. (TDSI) d’entreprise et bien
JAVA d’autres. 2019-2020 24 / 29
Langage Java

JAVA
Java est l’un des langages de programmation et l’une des plateformes
les plus populaires et les plus utilisés.
+ Java est l’un des langages de programmation les plus populaires
depuis de nombreuses années.
+ Java est orienté objet. Cependant, il n’est pas considéré comme
étant purement orienté objet car il fournit un support pour des
types de données primitives (comme int, char, etc)
+ Les codes Java sont d’abord compilés en code d’octet (code
indépendant de la machine). Ensuite, le byte-code est exécuté sur
la machine virtuelle Java (JVM), quelle que soit l’architecture
sous-jacente.
+ La syntaxe de Java est similaire à celle du C/C++. Mais Java ne
fournit pas de fonctionnalités de programmation de bas niveau
comme les pointeurs. De plus, les codes Java sont toujours écrits
sous forme de classes et d’objets.
+ Java est utilisé dans toutes sortes d’applications comme les
applications mobiles (Android est basé sur Java), les applications
de bureau, les applications web, les applications client-serveur, les
applications
Par Naibeye S. (TDSI) d’entreprise et bien
JAVA d’autres. 2019-2020 24 / 29
Langage Java

JAVA

+ Par rapport au C++, les codes Java sont généralement plus faciles
à maintenir car Java ne permet pas beaucoup de choses qui
peuvent conduire à une programmation mauvaise/inefficiente si
elle est utilisée de manière incorrecte.
+ Par rapport à Python, Java se situe en quelque sorte entre C++ et
Python. Les programmes écrits en Java s’exécutent généralement
plus rapidement que les programmes Python correspondants et
plus lentement que le C++.
Les logiciels se construisent à partir de composants existants, qui sont
bien définis, testés adéquatement, suffisamment documentés, portables
et largement disponibles. Cette réutilisation logicielle accélère le déve-
loppement d’applications puissantes et de haute qualité.

Par Naibeye S. (TDSI) JAVA 2019-2020 25 / 29


Langage Java

JAVA

+ Par rapport au C++, les codes Java sont généralement plus faciles
à maintenir car Java ne permet pas beaucoup de choses qui
peuvent conduire à une programmation mauvaise/inefficiente si
elle est utilisée de manière incorrecte.
+ Par rapport à Python, Java se situe en quelque sorte entre C++ et
Python. Les programmes écrits en Java s’exécutent généralement
plus rapidement que les programmes Python correspondants et
plus lentement que le C++.
Les logiciels se construisent à partir de composants existants, qui sont
bien définis, testés adéquatement, suffisamment documentés, portables
et largement disponibles. Cette réutilisation logicielle accélère le déve-
loppement d’applications puissantes et de haute qualité.

Par Naibeye S. (TDSI) JAVA 2019-2020 25 / 29


Langage Java

JAVA : Outils de développement

Qu’est-ce que JVM ?


La JVM (Java Virtual Machine) est une machine abstraite qui permet à
votre ordinateur d’exécuter un programme Java.

Lorsque vous exécutez le programme Java, le compilateur Java com-


pile d’abord votre code Java en bytecode. Ensuite, la JVM traduit le
bytecode en code machine natif (ensemble d’instructions que le pro-
cesseur d’un ordinateur exécute directement).

Par Naibeye S. (TDSI) JAVA 2019-2020 26 / 29


Langage Java

JAVA : Outils de développementn

Qu’est-ce que le JRE ?


JRE (Java Runtime Environment) est un progiciel qui fournit des
bibliothèques de classes Java, une machine virtuelle Java (JVM) et
d’autres composants nécessaires à l’exécution d’applications Java.

Par Naibeye S. (TDSI) JAVA 2019-2020 27 / 29


Langage Java

JAVA : Outils de développement

Qu’est-ce que le JDK ?


Le JDK (Java Development Kit) est un kit de développement logiciel
nécessaire pour développer des applications en Java. Lorsque vous
téléchargez le JDK, le JRE est également téléchargé avec lui.

En plus du JRE, le JDK contient également un certain nombre d’outils de


développement (compilateurs, JavaDoc, Java Debugger, etc.).

Par Naibeye S. (TDSI) JAVA 2019-2020 28 / 29


Langage Java

JAVA : Outils de développement

Par Naibeye S. (TDSI) F IGURE – Relation


JAVA JVE JRE JDK 2019-2020 29 / 29

Vous aimerez peut-être aussi