Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet



Documents pareils
Université de Bangui. Modélisons en UML

UML (Diagramme de classes) Unified Modeling Language

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Diagramme de classes

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

IFT2255 : Génie logiciel

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

GOL502 Industries de services

UML. Diagrammes de classes (suite) Delphine Longuet.

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Héritage presque multiple en Java (1/2)

UML et les Bases de Données

Chapitre VI- La validation de la composition.

Devenez un véritable développeur web en 3 mois!

Visual Paradigm Contraintes inter-associations

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Modélisation de bases de données : Le modèle relationnel

Initiation à JAVA et à la programmation objet.

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Programmation Orientée Objet

Chapitre 2. Classes et objets

Catalogue des Formations

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Modèle conceptuel : diagramme entité-association

UML (Paquetage) Unified Modeling Language

Information utiles. webpage : Google+ : digiusto/

Développement d un interpréteur OCL pour une machine virtuelle UML.

modélisation solide et dessin technique

Chapitre I : le langage UML et le processus unifié

Les diagrammes de modélisation

Généralités sur le Langage Java et éléments syntaxiques.

Intégration de l interface graphique de Ptidej dans Eclipse

Traduction des Langages : Le Compilateur Micro Java

Le stockage local de données en HTML5

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

Langage Java. Classe de première SI

Génie Logiciel Orienté Objet UML

Refonte front-office / back-office - Architecture & Conception -

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

3. UML - Unified Modeling Language Diagrammes statiques

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Méthodologies Orientées-Objet!

Programmation Objet - Cours II

Générer du code à partir d une description de haut niveau

Talend Technical Note

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

TP1 : Initiation à Java et Eclipse

Formation : Modélisation avec UML 2.0 et Mise en pratique

Programmation Orientée Objet en C#

Analyse,, Conception des Systèmes Informatiques

CQP Développeur Nouvelles Technologies (DNT)

Cours 14 Les fichiers

Bases de données. Chapitre 1. Introduction

SECTION 5 BANQUE DE PROJETS

Java 7 Les fondamentaux du langage Java

Architecture d'entreprise : Guide Pratique de l'architecture Logique

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Objets et Programmation. origine des langages orientés-objet

Plan Pédagogique du cours

MEGA Database Builder. Guide d utilisation

SAP BusinessObjects Web Intelligence (WebI) BI 4

Ingénierie des Modèles. Méta-modélisation

Programmation Web. Madalina Croitoru IUT Montpellier

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Cours en ligne Développement Java pour le web

Conception des bases de données : Modèle Entité-Association

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Introduction : présentation de la Business Intelligence

RTDS G3. Emmanuel Gaudin

Programme et contenus Licence d'informatique de Lille, parcours MIAGE, en alternance ou en formation continue (13:40)

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Comprendre Merise et la modélisation des données

Mercredi 15 Janvier 2014

Projet Active Object

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Génie Logiciel avec Ada. 4 février 2013

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Rappel sur les bases de données

Alfresco Guide Utilisateur

Transcription:

Programmation orientée objet et événementielle en JavaScript Département SRC Pôle Universitaire de Vichy Bruno Bachelet

«PARTIE IV Introduction au paradigme objet Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 2

Le paradigme objet Paradigme objet = ensemble de concepts de modélisation Modélisation = représentation simplifiée d'un système Plusieurs modèles possibles pour un système Ne sont représentés que les éléments pertinents pour l'étude Types de systèmes Organisationnels: entreprise, école Biologiques: organisme, écosystème Informatiques: réseaux, logiciel, système d'information Modélisation orientée objet Modélisation reposant sur les concepts du paradigme objet Un formalisme universel: UML Programmation orientée objet Programmation intégrant les concepts du paradigme objet Langages généralistes orientés objet: C++, Java, C# Pour le Web: JavaScript et PHP intègrent des concepts objet Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 3

Les principes fondateurs (1/3) Encapsulation Variables et fonctions réunies dans une même entité: la classe L'accès à ces éléments peut être contrôlé Permet de masquer les détails non nécessaires à l'utilisation Exemple Eléments nécessaires pour dessiner une forme géométrique Des coordonnées et une couleur Une fonction qui permet de tracer la forme Définition d'une classe «Forme» Trois variables: x, y et couleur Une fonction: tracer Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 4

Les principes fondateurs (2/3) Héritage Permet de définir une hiérarchie entre classes Classe fille hérite des variables et fonctions de sa mère Classe fille possède ses propres variables et fonctions Exemple Un rectangle est une forme géométrique Définition d'une classe «Rectangle» Hérite de la classe «Forme» Trois variables: x, y, et couleur Une fonction: tracer Possède ses propres caractéristiques Deux variables: largeur et hauteur Une fonction «tracer» différente Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 5

Polymorphisme Les principes fondateurs (3/3) Possibilité pour une fonction de prendre plusieurs formes Souvent utilisé en combinaison avec l'héritage Exemple Possibilité de redéfinir une fonction héritée: «surcharge» Accès par la classe mère polymorphisme Un rectangle et un cercle sont des formes géométriques Chacun a des variables et fonctions propres Fonctions «tracer» différentes Manipulation d'une forme par la classe «Forme» Que fait l'appel à la fonction «tracer» de la classe mère? Rectangle appel à «tracer» de «Rectangle» Cercle appel à «tracer» de «Cercle» Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 6

Classes et objets Un objet est une entité Chose concrète ou abstraite Ayant un intérêt pour notre étude Pouvant être reconnu distinctement Exemple: une voiture Clio 2 DCI, un stylo bleu Classe = objets d'un même type Décrit un ensemble d'objets similaires Exemple Classe = voiture Objets = Clio 2 DCI, Punto S55 Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 7

Membres d'une classe Une classe possède des «membres» Des attributs Des méthodes Attributs = état Caractéristiques de l'objet Exemple: la couleur de la voiture couleur sera un attribut de la classe voiture bleu sera la valeur de cet attribut pour un objet précis Ensemble des valeurs des attributs = état de l'objet Programmation: attribut = variable propre à l'objet Méthodes = comportement Fonctionnalités de l'objet Exemple: la voiture se déplace se déplacer sera une méthode de la classe voiture Une méthode permet de changer l'état de l'objet Programmation: méthode = fonction propre à l'objet Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 8

Objets en JavaScript (1/2) Possibilité de créer ses propres classes en JavaScript Mais on utilisera plutôt des classes existantes var mon_image = new Image(); «new» = création d'un objet d'une classe donnée Possibilité d'utiliser des objets existants Tout élément d'une page HTML est un objet DOM: Document Object Model «document» est l'objet qui représente le document HTML Opérateur «.» permet d'accéder aux membres d'un objet document.images Attribut «images» de l'objet «document» Tableau des images qui composent le document document.write Méthode «write» de l'objet «document» Méthode qui génère du HTML dans le document Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 9

Tableau = classe «Array» var tab = new Array(); Attribut: length taille_tab = tab.length; Objets en JavaScript (2/2) Chaînes de caractères = classe «String» var chaine = new String(); Méthodes indexof(souschaine): position d'une sous-chaîne chemin = "images/pingouin.gif"; pos_slash = chemin.indexof("/"); substring(debut,fin): création d'une sous-chaîne dossier = chemin.substring(0,pos_slash-1); charat(position): caractère à une position donnée premier_caractere = chemin.charat(pos_slash+1); Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 10

Formalisme UML UML = Unified Modeling Language Formalisme international pour la modélisation Permet de modéliser tout type de système Utilisé en particulier pour modéliser des logiciels Programmes informatiques Bases de données Sites Web Principaux types de schémas Diagramme des cas d'utilisation Analyse des besoins Diagramme de classes Structure statique du système Diagramme d'interactions Structure dynamique du système On présente ici le diagramme de classes Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 11

Diagramme de classes Décrit des relations entre types d'entités Une classe regroupe des entités (objets) ayant Des propriétés (des attributs) similaires Un comportement (des méthodes) commun Des relations communes avec d'autres objets Formalisme Nom classe + attribut 1: type + attribut 2: type + méthode 1 (paramètres) + méthode 2 (paramètres) Voiture + puissance: entier + couleur: chaîne + accélérer() + ralentir() Exemple Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 12

Relations entre les classes (1/2) Une classe peut être en relation avec d'autres Un objet d'une classe peut manipuler un objet d'une autre classe Relation d'association Exemple: une voiture circule sur une route Un objet d'une classe peut contenir un objet d'une autre classe Relation d'agrégation Exemple: une voiture est composée de 4 roues Une classe peut représenter un sous-ensemble d'objets d'une autre classe qui sont plus spécifiques Relation d'héritage Exemple: les berlines sont une catégorie de voitures Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 13

Relations entre les classes (2/2) Relation d'association Une classe B est associée à une classe A B action > A Relation d'agrégation Une classe B possède des objets d'une classe A B min..max A Relation d'héritage Une classe B hérite des caractéristiques d'une classe A B A Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 14

Exemple de diagramme de classes Université Cardinalité 1..n Agrégation Personne Héritage Administratif Enseignant Etudiant Par défaut, cardinalité = 1 (incorrect pour notre exemple d'ailleurs!) 1 enseigne > 1..n Association Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 15

JavaScript et les classes Possibilité de définir des classes en JavaScript function Voiture(marq,coul) { this.marque = marq; this.couleur = coul; this.vitesse = 0; this.accelerer = function(i) { this.vitesse += i; } this.ralentir = function(i) { this.vitesse -= i; } } «this» représente l'objet en cours de manipulation Utilisation d'une classe var clio = new Voiture("Clio 2 DCI","bleu"); clio.accelerer(20); document.write(clio.vitesse); Possibilité d'agrégation this.immatriculation = new String(); Possibilité d'héritage N'est pas natif au langage Mise en place complexe Mécanisme de délégation Mécanisme de prototype Programmation objet et événementielle en JavaScript - SRC Vichy / S2-2012 16