Objets

Tutoriaux, Sommaire JavaScript

1. Définition
     JavaScript est un langage orienté objet, prenons les objets qui nous entourent, poste TV, voiture, chien, etc... Ces objets ont tous des caractéristiques et un comportement. Leurs caractéristiques pourront être leur taille, poids, couleur, puissance de moteur, etc... leurs comportements seront, montrer une image, accélérer, aboyer, etc...
    On peut simuler en informatique des objets réels, modéliser un bicyclette par exemple. On va pour cela créer un ensemble d'instructions reflétant les caractéristiques d'une bicyclette et son comportement. On va y mettre son poids, ses dimensions, diamètre de roue, nombre de vitesse, etc... Il faudra aussi modéliser les fonctions d'accélération et de ralentissement, ainsi que celles de direction. Nous aurons créer ainsi un modèle de notre bicyclette. Mais que faire si notre voisin nous demande de créer un modèle de la sienne. On sent intuitivement qu'il suffit de changer quelques paramètres pour modéliser une autre bicyclette.
    On pourrait donc concevoir un objet bicyclette dont on créerait autant d'instances différentes que nécessaires, en changeant les diamètres de roue, la couleur du cadre ou le nombre de vitesses.
Les objets en programmation sont des ensembles d'instructions pouvant être reproduits à un nombre quelconques d'exemplaires nommés instances. L'objet fonctionne comme le plan servant à créer d'autres objets, (instances), ces instances sont personnalisables.
    Les caractéristiques d'un objet, (couleur, taille), sont nommées propriétés, (property), les fonctions comportementales, (accélérer, ralentir, etc...), sont nommées méthodes, (methods). Généralement les propriétés sont modifiées au niveau des instances mais pas ou pas forcément les méthodes.
    Les objets manipulables par javascript sont de deux sortes, les objets créés par l'environnement d'exploitation, (navigateur, os, etc...), et les objets que vous pouvez créer vous même.

2. Définir les paramètres
    Définissons un objet tel que l'adresse de quelqu'un dans un carnet d'adresse, l'ensemble des instances de cet objet formera le carnet d'adresse.
    Propriétés,
        Nom, Prénom, adresse postale, N° de téléphone, e-mail
    Méthodes
        Ajouter une adresse
        Lire une adresse
        Modifier une adresse

3. Constructeur propriétés
    Nous avons besoin d'un constructeur pour définir notre objet, ce constructeur a la même structure que l'instruction function, soit pour un objet Adresse.
function Adresse(){ 
    instructions de l'objet
}
    A l'intérieur de ce constructeur nous allons utiliser le mot clé  this pour se référer à l'objet, par exemple pour créer une propriété nom, nous écrirons
        this.nom
    La propriété doit être séparée du mot clé this par un point.
    De même pour les autres propriétés,
        this.prenom
        this.postal
        this.telephone
        this.email
    pour pouvoir affecter des valeurs à ces propriétées nous les passerons en arguments, comme dans une fonction.
function Adresse(nom, prenom, postal, téléphone, email){ 
        this.nom = nom
        this.prenom = prenom
        this.postal = postal
        this.telephone = téléphone
        this.email = email
}
    Pour créer une instance du carnet d'adresse, nous emploierons le mot clé new
    Durand = new Adresse("Durand", "Jean", "7 rue de la pompe Paris 20eme", "", "Durand@mail.com")
    Pour utiliser cet objet, nous allons éditer l'e-mail de Mr Durand. Pour cela nous utiliserons le nom de l'instance créé, ici Durand suivi d'un point et du nom de la propriété.
    Durand.mail
    Prénom de Mr Gomez
    Gomez.prenom
    Exercice, dans la forme ci-dessous, éditez dans la boite alert différentes propriétées pour les différentes personnes.

Code de la page:

     
 
    On peut une foi l'instance de l'objet créé, par exemple l'instance Durand, modifier le contenu ce n'importe quelle propriété, par exemple pour changer l'adresse de Mr Durand, nous écrirons,
    Durand.postal = "15 rue des rosiers Paris"
    Exercice, dans la forme ci-dessus, changer le contenu de propriétées, avant le message alert() et éditer les. Exemple.

4. Constructeur méthodes
    Les méthodes d'un objet sont des suites d'instruction affectant le comportement de l'objet, par exemple déplacer une image sur l'écran ou vérifier une saisie. Nous allons prendre pour exemple le changement d'adresse postale que nous avons effectué par une simple assignation au paragraphe précédent.
    Les méthodes sont écrites comme des fonctions ordinaires à l'exception que les références à l'objet sont faites par le mot clé this, comme dans le constructeur,
    function ChangePoste(postal){
        this.postal = postal
    }
    Dans le constructeur la référence à la méthode se fait par,
    this.ChangePoste = ChangePoste
    Le nom de la méthode n'est pas suivi des parenthèses, (), en effet pour activer cette méthode on écrit le nom de la méthode suivi de parenthèses,
    Durand.ChangePoste("1 Albertplatz Berlin")
    pour changer l'adresse postale de Mr Durand.
    Nota, même s'il n'y a pas d'argument à passer à la méthode, vous devez faire suivre le nom de la méthode de parenthèses. Corollaire, si vous faites suivre le nom de la méthode de parenthèses, même dans le constructeur, la méthode sera effectuée.
    Exercice, créer une méthode pour changer l'adresse e-mail. Corrigé.

Code de la page:

     
 
    Nous reviendrons plus amplement sur les objets créés par l'utilisateur et nous allons voir maintenant les objets pré-définis.

Sommaire
Précédent Suivant