Getters et setters
Niveaux d'accès et héritage
En programmation orientée objet, on créé souvent des méthodes pour modifier ou accéder à des attributs ou autres instances. En effet, ces éléments sont souvent protégés et accessibles uniquement au sein même de la classe (donc des méthodes). Il y a plusieurs types d'accessibilités pour des méthodes et attributs :
private
: Accessible uniquement à l'intérieur de la classe (par des méthodes de la classe).public
: Accessible à l'extérieur de la classe, via la manipulation d'une instance par exemple.protected
: Accessible uniquement dans la classe et les classes enfants (par héritage).
Il est possible d'avoir de petites variations de fonctionnement d'un langage à l'autre, il est important de toujours se référer à la documentation du langage manipulé.
Le but d'un setter
est de redéfinir l'attribut précisé (une méthode setName
pour modifier l'attribut name
) et le but d'un getter
est de renvoyer l'attribut précisé (une méthode getName
pour obtenir la valeur de l'attribut name
).
Dans la remarque précédente, j'ai parlé d'héritage de classe. En effet, il y a des systèmes de classes parent et de classes enfant. Lors de la définition d'une classe, dans la plupart des langages on peut faire en sorte qu'elle hérite de méthodes et attributs d'une autre classe, qui sera alors son parent. Le mot clé utilisé pour définir cet héritage est généralement extends
. Cependant la notation varie fortement d'un langage à l'autre.
Voici un exemple de définition de classe et d'initialisation d'instance utilisant les notions abordées, de getters
, setters
et héritage.
Utiliser les getters en JavaScript
Parcourir le DOM
se fait à l'aide de getters
. Ce sont des méthodes permettant d'accéder à certains éléments du DOM
à partir d'autres. On part toujours d'un seul élément principal qui est le "document", c'est l'élément qui englobe tous les autres éléments HTML
de notre page, si l'on met de côtés quelques subtilités dont on se passera ici par soucis de simplicité.
Par exemple l'instruction :
permet de créer une variable form
et d'y stocker l'élément (censé être unique) de notre contenu HTML
qui possède l'id
(l'attribut id) "formulaire". Élément sur lequel nous pouvons aussi appliquer des getters pour parcourir ses éléments enfants, c'est à dire les éléments HTML
contenus à l'intérieur de cette balise.
Il faut savoir qu'il est aussi possible d'obtenir une liste d'éléments si notre getters
nous permet de "sélectionner" plusieurs éléments. Par exemple, plusieurs éléments peuvent posséder la classe elem
à l'intérieur d'une div
avec un id
"formulaire". Comme cela :
Ainsi, pour récupérer une liste de tous ces paragraphes, nous pouvons faire :
Ici, nous voulons la liste de tous les éléments possédant la classe elem
contenu dans la balise HTML
d'id
"formulaire", elle même contenu dans le document.
getElementsById
Permet d'obtenir le premier élément d'un certains id.
getElementsByClassName
Permet d'obtenir la liste de tous les éléments possédant la classe indiquée.
getElementsByTagName
Permet d'obtenir la liste de tous les éléments d'un certains type de balise
(div, p, span, input, form, etc..)
querySelector
Permet d'obtenir le premier élément rencontré concerné par le sélecteur CSS indiqué.
querySelectorAll
Permet d'obtenir la liste de tous les éléments concernés par le sélecteur CSS indiqué.
Dernière mise à jour
Cet article vous a-t-il été utile ?