OBJETS ET CLASSES
Une classe se définit à l’aide d’une fonction qui permet de déclarer les propriétés des objets de la classe en créant celles-ci pour un objet déterminé. Une classe = une structure de propriétés et de méthodes.
Exemple :
<HTML>
<HEAD>
<SCRIPT>
function voiture(ma, mo, an)
this.marque=ma ; //
this.modele=mo ; //3 declarations de proprietes
this.annee=an ; //
this.afficher=afficher-voiture ; //1 declaration de methode }
function afficher_voiture()
{
var result=""
result=result + this.marque+""+this.modele+""+this.annee; document.write("<HR><P>"+result+"<HR>");
}
ma_voiture=new voiture("Ferrari","F40","1994");
ma voiture.afficher();
</script>
</HEAD>
<BODY>
</BODY>
</HTML>Création
On créé un nouvel objet avec le constructeur new et la fonction de création de la classe.
Méthodes et propriétés
Une propriété est déclarée par :
this.nom_propriété=valeur
On accède aux propriétés d’un objet avec la syntaxe :
Nom_objet.nom_propriété.
Une méthode est une fonction que l’on déclare relative à une classe au sein de cette dernière.
Syntaxe :
Nom_objet.nom à_donner_à_la_méthode=nom_fonction_existante
L’appel aux méthodes d’une classe se fait avec l’opérateur « point ».
Nom_objet.nom_méthode(paramètres_éventuels) ;
Remarques
- On peut déclarer une variable et lui affecter un contenu dans une même instruction.
- On peut accéder aux propriétés d’un objet avec l’opérateur « point » également.
- Une classe peut contenir une propriété qui est un objet d’une autre classe.
Propriétés d’un objet function proprietes(obj,nom_obj)
{
var result="";
for(var i in obj)
result+=nom_obj+"."+i+"="+obj[i}+"\n";
return result;
}La fonction précédente affiche les propriétés et les méthodes d’un objet :
- i : contient le nom de la propriété
- obj[i] : contient la valeur de la propriété.
Essayer, pour s’en rendre compte :
alert(proprietes(ma_voiture,"ma voiture")) ;
On peut donc accéder aux propriétés de tout objc par : ma_voiture["marque"]="Ferrari"
OU
Ma_voiture[O]="Ferrari"
![]()
![]()
![]()
![]()
![]()
![]()
Flash Player
Affichez du contenu web animé
![]()
Shockwave Player
Affichez du contenu multimédia sur le web
![]()
Votre IP est :
38.103.63.16