ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java
ESIEE Paris © Denis BUREAU IN101 - Cours 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
ESIEE Paris © Denis BUREAU IN101 - Cours I. I. Introduction à la Programmation Orientée Objet I.1 Programmation "classique" I.2 P.O.O. I.3 Encapsulation
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – I.1 I.1 Programmation "classique" Programmation procédurale/structurée (risques, maintenance)
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – I.2 I.2 P.O.O.
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – I.3 I.3. Encapsulation données privées services publics
ESIEE Paris © Denis BUREAU IN101 - Cours I. I. Introduction à la Programmation Orientée Objet I.1 Programmation "classique" I.2 P.O.O. I.3 Encapsulation
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – II II. Classes et objets II.1 Classe II.2 Objet II.3 Exemple: classe Cercle II.4 Vocabulaire
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – II.1 II.1 Classe modèle (modélisation, subjective) moule, emporte-pièce description textuelle statique
ESIEE Paris © Denis BUREAU IN101 - 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)
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – II.3 II.3 Exemple: classe Cercle 1/2
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – II.3 II.3 Exemple: classe Cercle 2/2
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – II.4 II.4 Vocabulaire instance (= exemplaire dune classe) instancier (= créer une instance, un objet) instanciation (= création dune instance) variable d'instance (= attribut)
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – II II. Classes et objets II.1 Classe II.2 Objet II.3 Exemple: classe Cercle II.4 Vocabulaire
ESIEE Paris © Denis BUREAU IN101 - 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
ESIEE Paris © Denis BUREAU IN101 - 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.chapitres 1 & 2 32 bits =>2^32 nombres Non, +2^31 – 1 ]
ESIEE Paris © Denis BUREAU IN101 - 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
ESIEE Paris © Denis BUREAU IN101 - 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, …
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – III.4 III.4 Initialisation des attributs donner sa valeur initiale déclenchée automatiquement pour éviter un état incohérent valeur par défaut pour chaque type
ESIEE Paris © Denis BUREAU IN101 - 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
ESIEE Paris © Denis BUREAU IN101 - Cours 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
ESIEE Paris © Denis BUREAU IN101 - 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 Surcharge plusieurs méthodes de la même classe de même nom, mais signatures différentes
ESIEE Paris © Denis BUREAU IN101 - 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 ?)
ESIEE Paris © Denis BUREAU IN101 - 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 ?)
ESIEE Paris © Denis BUREAU IN101 - 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 ! Nest pas appelée sur un objet, appelée automatiquement à la création Rôle : initialiser les attributs
ESIEE Paris © Denis BUREAU 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
ESIEE Paris © Denis BUREAU IN101 - 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
ESIEE Paris © Denis BUREAU IN101 - Cours 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
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – V V. Syntaxe V.1 Généralités V.2 Nommage
ESIEE Paris © Denis BUREAU IN101 - 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 styleguide 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. ;
ESIEE Paris © Denis BUREAU IN101 - 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 ?
ESIEE Paris © Denis BUREAU IN101 - Cours 1.1 – V V. Syntaxe V.1 Généralités V.2 Nommage
ESIEE Paris © Denis BUREAU IN101 - Cours 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. Syntaxe Lire le poly : pages situées avant le chapitre 1, sections 1 à 2.2 et annexes 6 & 7