Introduction aux objets

Parent Previous Next


Introduction aux objets


Il a été dit précédemment que le Javascript est un langage orienté objet. Cela veut dire que le langage dispose d'objets.

Un objet est un concept, une idée ou une chose. Un objet possède une structure qui lui permet de pouvoir fonctionner et d'interagir avec d'autres objets. Le Javascript met à notre disposition des objets natifs, c'est-à-dire des objets directement utilisables. Vous avez déjà manipulé de tels objets sans le savoir : un nombre, une chaîne de caractères ou même un booléen.

Ce ne sont pas des variables ?


Si, mais en réalité, une variable contient surtout un objet. Par exemple, si nous créons une chaîne de caractères, comme ceci : 

Code : JavaScript 

1

var myString = 'Ceci est une chaîne de caractères';



la variable myString contient un objet, et cet objet représente une chaîne de caractères. C'est la raison pour laquelle on dit que le Javascript n'est pas un langage typé, car les variables contiennent toujours la même chose : un objet. Mais cet objet peut être de nature différente (un nombre, un booléen…).

Outre les objets natifs, le Javascript nous permet de fabriquer nos propres objets. Ceci fera toutefois partie d'un chapitre à part, car la création d'objets est plus compliquée que l'utilisation des objets natifs.

Toutefois, attention, le Javascript n'est pas un langage orienté objet du même style que le C++, le C# ou le Java. Le Javascript est un langage orienté objet par prototype. Si vous avez déjà des notions de programmation orientée objet, vous verrez quelques différences, mais les principales viendront par la suite, lors de la création d'objets.



Que contiennent les objets ?



Les objets contiennent trois choses distinctes : 


Le constructeur


Le constructeur est un code qui est exécuté quand on utilise un nouvel objet. Il permet d’effectuer des actions comme définir diverses variables au sein même de l'objet (comme le nombre de caractères d'une chaîne de caractères). Tout cela est fait automatiquement pour les objets natifs, nous en reparlerons quand nous aborderons l'orienté objet.

Les propriétés


Toute valeur va être placée dans une variable au sein de l'objet : c'est ce que l'on appelle une propriété. Une propriété est une variable contenue dans l'objet, elle contient des informations nécessaires au fonctionnement de l'objet. 

Les méthodes



Enfin, il est possible de modifier l'objet. Cela se fait par l'intermédiaire des méthodes. Les méthodes sont des fonctions contenues dans l'objet, et qui permettent de réaliser des opérations sur le contenu de l'objet. Par exemple, dans le cas d'une chaîne de caractères, il existe une méthode qui permet de mettre la chaîne de caractères en majuscules.


Exemple d'utilisation



Nous allons créer une chaîne de caractères, pour ensuite afficher son nombre de caractères et la transformer en majuscules. Soit la mise en pratique de la partie théorique que nous venons de voir.

Code : JavaScript 

1

2

3

4

5

var myString = 'Ceci est une chaîne de caractères'; // On crée un objet String

   

alert(myString.length); // On affiche le nombre de caractères, au moyen de la propriété « length »

     

alert(myString.toUpperCase()); // On récupère la chaîne en majuscules, avec la méthode toUpperCase()



On remarque quelque chose de nouveau dans ce code : la présence d'un point. Ce dernier permet d'accéder aux propriétés et aux méthodes d'un objet. Ainsi, quand nous écrivons myString.length, nous demandons au Javascript de fournir le nombre de caractères contenus dansmyString. La propriété length contient ce nombre, qui a été défini quand nous avons créé l'objet. Ce nombre est également mis à jour quand on modifie la chaîne de caractères : 

Code : JavaScript 

1

2

3

4

5

var myString = 'Test';

alert(myString.length); // Affiche : « 4 »

         

myString = 'Test 2';

alert(myString.length); // Affiche : « 6 » (l'espace est aussi un caractère)




C'est pareil pour les méthodes : avec myString.toUpperCase(), je demande au Javascript de changer la casse de la chaîne, ici, tout mettre en majuscules. À l'inverse, la méthode toLowerCase() permet de tout mettre en minuscules.


Objets natifs déjà rencontrés



Nous en avons déjà rencontré trois : 

  1. Number : l'objet qui gère les nombres ;
  2. Boolean : l'objet qui gère les booléens ;
  3. String : l'objet qui gère les chaînes de caractères.


Nous allons maintenant découvrir l'objet Array qui, comme son nom l'indique, gère les tableaux (array signifie « tableau » en anglais) !


Créé avec HelpNDoc Personal Edition: Création d'aide CHM, PDF, DOC et HTML d'une même source

Site à deux balles