Objects en JavaScript
1.Définitions
JavaScript is an langage de Programmation Orienté Objet. Avec un langage
POO, on peut définir nos propres objets, et nos propres types de variable.
Dans le logiciel JavaScript que nous utilisons, nous avons déjà des classes
prédéfinies comme Array, Date, Image, etc ...avec leur propriétés et méthodes
bien établies.
Unepropriété est une valeur associée à l'objet; la méthode
est une fonction associée à l'objet.
software we are using, we have already many built-in
Quand on ecrit, par exemple:
var txt = "Bonjour"; //on déclare une variable et on lui affecte la valeur "Bonjour"
document.write(txt.length); //on affiche la variable
document.write(txt.toUpperCase()); //on la transforme en lettres capitales
"txt" is an object de la clase "String"
"txt.length": Ici "length" est une propriété d'un objet de la classe "String". Elle
est appliquée à l'objet "txt" pour retourner une valeur qui est sa longeur de chaîne,
et qui vaut 7.
txt.toUpperCase(): ici la methode UpperCase() de la classe String, et est appliquée
à l'object "txt". Cette application retourne BONJOUR.
It will output REGARDS.
En javaScript, on dispose de deux façons pour créer un objet:
2. Création d'objets
2.1. Création d'une instance d'un objet avec ses propriétés et ses méthodes
On le fait selon trois étapes:
- On crée une instance d'an object: nom_objet = new Object();
- On défini une propriété: nom_objet.nom_propriété = valeur;
- On défini une méthode comme une fonction nom_objet.nom_méthode=nom_méthode();
Où:
Object is le nom de la classe.
- Pour accéder à une propriété d'un objet, on ecrit:
nom_objet.nom_propriété;
- Pour appliquer à une méthode à un objet, on ecrit:
nom_objet.nom_méthode();
Exemple:
<html>
<head>
<script type="text/javascript">
//On crée un objet : personne
personne = new Object();
//On lui attache trois propriétés:
personne.prenom ="Corto";
personne.nom = "Maltese";
personne.numero = 3307;
//On ajout une méthode appelée "identite"
personne.identite = identite();
function identite(){
if (personne.numero != 3308 || personne.prenom == "corto" ){
document.write("Il ne s'agit pas nécessairement de M. Maltese. ");}
else{
document.write("Ce n'est toujours pa lui!. ");
}
}
</script>
</head>
<body >
<script type="text/javascript">
//Obtenir le nom de l'objet:
document.write(personne.nom);
document.write("<br />");
//Appliquer la méthode à l'objet:
personne.identite();
</script>
</body>
</html>
L'exécution donne:
2.2. Création d'un templete d'un objet
Cette méthode de template défini la structure d'un object.
C'est une fonction qui englobe la définition des
propriétés et des méthodes d'un objet courent appelé
this.
Exemple:
<html>
<head>
<script type="text/javascript">
//Example:
function personne(prenom,nom,numero)
{
//Propriétés
this.prenom = prenom;
this.nom = nom;
this.numero = numero;
//Méthode
this.identite = identite;
}
Maintenant, on doit définir la méthode:
function identite(){
if (this.numero <= 1900){
document.write("Physique moderne ");}
else{
document.write("Physique classique ");
}
}
</script>
</head>
<body >
<script type="text/javascript">
//Créer 4 instances:
personne1 = new personne ("Johannes", "Kepler", 1630);
personne2 = new personne ("Isaac", "Newton", 1727);
personne3 = new personne ("Max", "Planck", 1947);
personne4 = new personne ("Erwin", "Schrodinger",1961);
//Obtenir un nom:
document.write(personne2.nom);
document.write("<br />");
//Obtenir un numero:
document.write(personne3.numero);
document.write("<br />");
//On applique la méthode à un objet
personne1.identite();
document.write("<br />");
personne4.identite();
</script>
</body>
</html>
L'exécution donne:
|