Système d'aide en ligne pour JavaScript

.:Sommaire:.


Image d'un livreIntroduction au JavaScript
Image d'un livreQu'est-ce que JavaScript
Image d'un livreLangage JavaScript
Image d'un livreSyntaxe du langage
Image d'un livreStructures de contrôle
Image d'un livreFonctions et Méthodes
Image d'un livreGestionnaires et objets
Image d'un livreFormulaires JavaScript
Image d'un livreProgrammation

Programmation Orientée Objet



Les objets JavaScript possèdent des propriétés, valeurs associées à l'objet, et des méthodes qui sont des actions pouvant être réalisées sur ces objets. JavaScript est plutôt basé sur la Programmation Orienté Objet par prototypes comparé au Java et au C++ qui sont basés sur les classes. Pour définir un objet en JavaScript, il suffit tout simplement de marquer "var obj1 = new Object ( );". Pour JavaScript, l'objet est un tableau associatif dynamique, c'est-à-dire qu'on pourra ajouter, modifier ou supprimer des entrées de l'objet tout au long de sa vie. La fonction en JavaScript est considérée comme un objet qui découle de l'objet "Object". L'objet "Object" possède la propriété prototype qui permet d'ajouter des propriétés et des méthodes à un objet. La fonction (et sa propriété prototype) va servir à mettre en oeuvre la POO par prototype. La fonction permet de définir la structure des objets. Le mot clé "this" est utilisé dans une méthode pour référencer l'instance de l'objet sur laquelle la méthode est exécutée.

La notion de classe n'existe pas en JavaScript. On peut quand même utiliser cette notion pour désigner la structure des objets. La fonction permet de définir une classe :

  • Elle correspond au constructeur de la classe
  • Le mot clé "this" sert à définir les éléments publics de la classe
  • Pour définir des éléments privés à la classe, il s'agit d'utiliser le mot clé "var"
  • Le mot clé « new », quant à lui, sert à instancier un objet de cette classe.

Tous les objets créés par une classe utilisent la même fonction. Pour réaliser cette action, on utilisera le prototypage de l'objet. On crée la fonction constructeur de l'objet pour les attributs. Ensuite, à l'aide de l'attribut prototype, on lui ajoute des méthodes. De cette façon, les méthodes sont définies dans un bloc distinct et tous les objets provenant de la classe pointeront vers ce bloc. Exemple :

function autos (marque, modele, annee) {
this.marque = marque;
this.modele = modele;
this.annee = annee;
}

// Instances de l'objet
monAuto = new autos ("Nissan", "Frontier", 1998);
tonAuto = new autos ("Toyota", "Echo", 2004);
sonAuto = new autos ("Honda", "Civic", 2000);


Différences entre la POO basé sur les classes et celle sur les prototypes :

Liste des différences entre la POO basé sur les classes et la POO basé sur les prototypes

Si on se sert de la technique des prototypes pour définir les méthodes, il faut faire attention de l'ordre des définitions pour ne pas écraser ce qui a été défini précédemment. L'ordre doit être le suivant :

  • Définition de la classe mère
  • Ajout des prototypes à la classe mère
  • Définition de la classe fille
  • Ajout des prototypes à la classe fille

L'objet "Object" possède une méthode "toString()" qui permet d'afficher les caractéristiques d'un objet sous la forme d'une chaîne de caractères. Cependant la méthode actuelle retourne [object Object] dans le cas d'un objet personnalisé. Il est possible de la redéfinir pour obtenir les renseignements pertinents.

JavaScript permet de gérer les exceptions, c'est-à-dire qu'il intercepte les erreurs. On peut alors les traiter nous-mêmes. JavaScript permet également de lancer des exceptions selon nos besoins dans l'application.

La fonction générale pour la définition d'une exception ressemble à :

function monException(message) {
this.message = message;
this.nom = "monException";
}

Ensuite, on utilise try, catch et possiblement finally :

  • try => bloc d'interception des interceptions
  • catch => bloc de traitement des exceptions
  • finally => bloc à exécuter, qu'il y ait exception ou non



Image retour 
			en arrièrePage précédente | Retour au haut de page

.:Index:.

Asynchrone 3
Break 5
Caractères 4-7-11-12
Casse 4-7
Checkbox 13
Classes 14
Close 10
Closure 7
Commentaires 3-4
Constructeur 14
Date 11
Document 10-12
Else 6
Entiers 4
Exceptions 1-14
Fonction 7-8-9-11-14
For 5
Formulaire 9-12-13
History 11
If 6
Interactivité 2-9-12
Interpreteurs 1
Label 12
Location 11
Math 11
Navigator 11
Open 10
Prototypes 14
Radio 12-13
Récursive 7
Return 7
Reset 13
Screen 11
Select 13
Souris 2-9-13
Status 9
Submit 13
Switch 6
Synchrone 3
Textarea 12-13
Variable 4-6-7-8-10-11
While 5
Window 10

Contactez-nous
Copyright © Guillaume Paré 2010