ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

33
ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java

Transcript of ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

Page 1: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20121

I N 1 0 1

Initiation

à la programmation

avec le langage Java

Page 2: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20122IN101 - Cours 1.1 -

Cours 1.1

• I. Introduction à la Programmation Orientée Objet

• II. Classes et objets

• III. Attributs et types de données

• IV. Méthodes et paramètres

• V. Syntaxe

Page 3: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20123IN101 - Cours 1.1 - I.

I. Introduction à la Programmation Orientée Objet

• I.1 Programmation "classique"  

• I.2 P.O.O.

• I.3 Encapsulation

Page 4: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20124IN101 - Cours 1.1 – I.1

I.1 Programmation "classique"

Programmation procédurale/structurée

(risques, maintenance)

Page 5: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20125IN101 - Cours 1.1 – I.2

I.2 P.O.O.

Page 6: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20126IN101 - Cours 1.1 – I.3

I.3. Encapsulation

• données privées

• services publics

Page 7: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20127IN101 - Cours 1.1 - I.

I. Introduction à la Programmation Orientée Objet

• I.1 Programmation "classique"  

• I.2 P.O.O.

• I.3 Encapsulation

Page 8: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20128IN101 - Cours 1.1 – II

II. Classes et objets

• II.1 Classe

• II.2 Objet

• II.3 Exemple: classe Cercle

• II.4 Vocabulaire

Page 9: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

20129IN101 - Cours 1.1 – II.1

II.1 Classe

• modèle (modélisation, subjective)

• moule, emporte-pièce

• description textuelle

• statique

Page 10: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201210IN101 - Cours 1.1 – II.2

II.2 Objet

• exemplaire (de la classe)

• morceau de pâte (de la même forme)

• en mémoire

• dynamique (est créé, modifié, détruit)

Page 11: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201211IN101 - Cours 1.1 – II.3

II.3 Exemple: classe Cercle 1/2

Page 12: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201212IN101 - Cours 1.1 – II.3

II.3 Exemple: classe Cercle 2/2

Page 13: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201213IN101 - Cours 1.1 – II.4

II.4 Vocabulaire

• instance (= exemplaire d’une classe)

• instancier (= créer une instance, un objet)

• instanciation (= création d’une instance)

• variable d'instance (= attribut)

Page 14: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201214IN101 - Cours 1.1 – II

II. Classes et objets

• II.1 Classe

• II.2 Objet

• II.3 Exemple: classe Cercle

• II.4 Vocabulaire

Page 15: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201215IN101 - Cours 1.1 – III

III. Attributs et types de données

• III.1 Nombre entier

• III.2 Valeur logique

• III.3 Mot ou phrase

• III.4 Initialisation des attributs

Page 16: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201216IN101 - Cours 1.1 – III.1

III.1 Nombre entier

• 4 octets =>

• [ -2^31 , +2^31 ] ?

• environ -2 milliards à +2 milliards• Lire ce document (chapitres 1 & 2) sur la

représentation des entiers et les débordements arithmétiques.

32 bits => 2^32 nombres

Non, +2^31 – 1 ]

Page 17: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201217IN101 - Cours 1.1 – III.2

III.2 Valeur logique

• = booléenne

• seulement 2 valeurs :

• vrai ou faux (pas 0 ou 1 !)

• utile dans les conditions

• résultat des comparaisons

Page 18: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201218IN101 - Cours 1.1 – III.3

III.3 Mot ou phrase

• chaîne de caractères

• 0 ou 1 ou N caractères

• lettres, chiffres, symboles, espace, …

Page 19: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201219IN101 - Cours 1.1 – III.4

III.4 Initialisation des attributs

• donner sa valeur initiale

• déclenchée automatiquementpour éviter un état incohérent

• valeur par défaut pour chaque type

Page 20: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201220IN101 - Cours 1.1 – III

III. Attributs et types de données

• III.1 Nombre entier

• III.2 Valeur logique

• III.3 Mot ou phrase

• III.4 Initialisation des attributs

Page 21: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201221IN101 - Cours 1.1 - IV

IV. Méthodes et paramètres

• IV.1 Méthode

• IV.2 Trois sortes de méthodes

• IV.3 Paramètre

• IV.4 Variable locale

Page 22: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201222IN101 - Cours 1.1 – IV.1

IV.1 Méthode

• IV.1.1 Utilitééviter la duplication de code

• IV.1.2 Comment la définir ?retour + nom + paramètres = signature, instructions = corps

• IV.1.3 Surchargeplusieurs méthodes de la même classe de même nom, mais signatures différentes

Page 23: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201223IN101 - Cours 1.1 – IV.2

IV.2 Trois sortes de méthodes : 1/3

• IV.2.1 Fonction

• retourne 1 valeur et 1 seule

• préciser son type (1 des 3 déjà vus)

• appelée sur un objet(diamètre de quel cercle ?)

Page 24: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201224IN101 - Cours 1.1 – IV.2

IV.2 Trois sortes de méthodes : 2/3

• IV.2.1 Procédure

• ne retourne rien

• le dire !

• appelée sur un objet(efface quel cercle ?)

Page 25: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201225IN101 - Cours 1.1 – IV.2

IV.2 Trois sortes de méthodes : 3/3

• IV.2.1 Constructeur

• très spéciale

• Ne rien dire !

• N’est pas appelée sur un objet,appelée automatiquement à la création

• Rôle : initialiser les attributs

Page 26: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201226

IV.3 Paramètre

• information supplémentaire fournieà une méthode (deplace: ΔX ΔY)

• absence possible (efface)

• sinon ordre important

• Comment le définir ?type, nom(pas de public / privé !)

IN101 - Cours 1.1 – IV.3

Page 27: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201227IN101 - Cours 1.1 – IV.4

IV.4 Variable locale

• Dans un bloc (voire une sous-partie)

• ni attribut (=> non initialisée) ni paramètre

• Comment la définir ?type, nom

• ni publique ni privée

Page 28: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201228IN101 - Cours 1.1 - IV

IV. Méthodes et paramètres

• IV.1 Méthode

• IV.2 Trois sortes de méthodes

• IV.3 Paramètre

• IV.4 Variable locale

Page 29: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201229IN101 - Cours 1.1 – V

V. Syntaxe

• V.1 Généralités

• V.2 Nommage

Page 30: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201230IN101 - Cours 1.1 – V.1

V.1 Généralités

• V.1.1 Différence min/maj (importante)• V.1.2 Espacement : significatif entre 2 mots,

indifférent sinon, un ou plusieurs[ESPACE] / [TABULATION] / [ENTREE]

• V.1.3 "Indentation" (décalages/alignements, reflètent la structure)

• V.1.4 Présentation/style : guide de style• V.1.5 vérifiée à la compilation, => erreurs =>

BIEN LIRE LES MESSAGES D'ERREUR• Attention ! L'erreur se trouve souvent à la fin

de la ligne du dessus. ;

Page 31: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201231IN101 - Cours 1.1 – V.2

V.2 Nommage(Obligations et Conventions obligatoires)

• V.2.1 O: Identificateur : lettres, chiffres, _,sans chiffre initial, sauf mot réservé

• V.2.2 C: UneClasse (majuscule initiale) =>O: fichier UneClasse.java (UneClasse.class)

• V.2.3 C: aNomAttribut, verbeMethode(), pNomParametre, vNomVariableLocale

• V.2.4 O: exception: le constructeur(= nom de la classe), contradiction ?

Page 32: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201232IN101 - Cours 1.1 – V

V. Syntaxe

• V.1 Généralités

• V.2 Nommage

Page 33: ESIEE Paris © Denis BUREAU 2012 1 I N 1 0 1 Initiation à la programmation avec le langage Java.

ESIEE Paris© Denis BUREAU

201233IN101 - Cours 1.1 -

A apprendre :• I. Introduction à la

Programmation Orientée Objet• II. Classes et objets• III. Attributs et types de données• IV. Méthodes et paramètres• V. SyntaxeLire le poly :pages situées avant le chapitre 1,sections 1 à 2.2 et annexes 6 & 7