• Aucun résultat trouvé

Objets, prototypes et héritage en JavaScript

N/A
N/A
Protected

Academic year: 2022

Partager "Objets, prototypes et héritage en JavaScript"

Copied!
9
0
0

Texte intégral

(1)

Andrea G. B. Tettamanzi, 2018 1

Programmation Web Avancée Programmation Web Avancée

(côté client) (côté client)

Andrea G. B. Tettamanzi

Université de Nice Sophia Antipolis Département Informatique

[email protected]

(2)

Andrea G. B. Tettamanzi, 2018 2

CM - Séance 04

Objets, prototypes et

héritage en JavaScript

(3)

Andrea G. B. Tettamanzi, 2018 3

Plan

• Objets, prototypes et héritage

• Constructeurs

• Encapsulation en JavaScript

(4)

Andrea G. B. Tettamanzi, 2018 4

Objets

• Un objet JavaScript peut être pensé comme un ensemble de couples (propriété, valeur) que l’on peut représenter avec la notation intuitive

propriété : valeur

• qui est aussi utilisé par la syntaxe du langage pour définir des objets littéraux

• Propriétés

– Propres : apparaissent explicitement dans un objet

– Héritées : ne font pas explicitement partie de l’objet, mais sont dérivées implicitement d’autres objets (dits prototypes)

• Une propriété peut prendre des valeurs de n'importe quel type

• Les objets JavaScript sont des tables de hachage

(5)

Andrea G. B. Tettamanzi, 2018 5

Méthodes

• Une propriété peut avoir une fonction comme valeur

• On parle alors d'une méthode

• Lorsqu’une méthode d’un objet est appelée, la variable spéciale

« this » passe à référencer l’objet

• De ce fait, le code contenu dans la méthode peut accéder aux propriétés de l’objet à travers de la variable « this »

(6)

Andrea G. B. Tettamanzi, 2018 6

Création d'objets

• Un objet peut être créé de plusieurs façons, parmi lesquelles – Syntaxiquement, à l’aide d’une notation littérale :

obj = { x : 5, y : 10 } ; – Par des constructeurs

• Un constructeur, en JavaScript, est une fonction qui est appelée avec l'opérateur « new »

new f(…) ;

• Renvoie un nouvel objet moulé sur l'objet f.prototype

(7)

Andrea G. B. Tettamanzi, 2018 7

Prototypes et héritage

• Chaque objet a un lien interne vers son prototype

• Un prototype est un objet et peut avoir un prototype à son tour

• On parle alors de chaîne de prototypes d'un objet

• Étant donné un objet o, la valeur o.x d’une propriété x est déterminée comme suit :

– si x est une propriété propre de o, o.x renvoie la valeur de la propriété x en o ;

– sinon, la chaîne des prototypes de o est parcourue jusqu’au premier prototype p où x est définie ; dans ce cas, o.x renvoie la valeur de p.x ;

– si, en parcourant la chaîne des prototypes, l’objet « null » est atteint, o.x renvoie « undefined », la valeur indéfinie.

(8)

Andrea G. B. Tettamanzi, 2018 8

Encapsulation

• Accesseurs et mutateurs

• Propriétés privées

• Méthodes privilégiées

(9)

Andrea G. B. Tettamanzi, 2018 9

Merci de votre attention

Références

Documents relatifs

„ De 0 à N versions pour les documents PDF créés à partir d'un document interactif Dans cette onglet Associé, vous trouverez les informations suivantes :. „ Description du document

„ De 0 à N versions pour les documents PDF créés à partir d'un document interactif Dans cette onglet Associé, vous trouverez les informations suivantes :.. „ Description du document

Lorsque toutes les chaînes représentées dans un texte JSON sont composées entièrement de caractères Unicode [UNICODE] (éventuellement échappés) ce

 onmousedown = script The onmousedown event occurs when the pointing device button is pressed over an element. This attribute may be used with

Je suis un entier égal au produit de six nombres premiers distincts. La somme de mon inverse et des inverses de mes six facteurs premiers est égale

Toutes les variables créées sans le mot clé « var » sont des variables globales : elles sont utilisables partout dans le code après leur déclaration, même dans les fonctions..

Christian Poslaniec : On dirait que tu as abandonné Pierrot et Colombine, ainsi que l'encre, en même temps que fermait l'atelier du vieux Mans.. On commence par

Cette pédagogie dévitalisée, dont par lai t Freinet comme par mise en garde bienveil- lante, nous devons sérieusem ent nou s demander si ell e ne n ous guette pas