Comment expliquer ce mot-clé dans une meilleure façon simple et?
Je suis à l'aide de 'ce' mot-clé pour une longue période de temps. Mais quand quelqu'un me demande de l'expliquer, je ne sais pas comment l'expliquer. Je sais que je peux l'utiliser dans une méthode de classe pour accéder à toutes les variables et la méthode de la même classe.
class MyClass{
function MyMethod1(){
echo "Hello World";
}
function MyMethod2(){
$this->MyMethod1();
}
}
Est-il un objet d'une classe que nous n'avons pas besoin de l'initialiser et peut être utilisé uniquement à l'intérieur de la classe ou quoi que ce soit d'autre. Comment l'expliquer?
Grâce
- Voici un bel article sur ce en Utilisant le mot-clé "this" en PHP
- Après un certain laps de temps raisonnable, la réponse avec le plus de votes est acceptée.
Vous devez vous connecter pour publier un commentaire.
Une classe est un moule pour un objet: il précise la manière dont l'objet ressemble (variables) et ce qu'il peut faire (fonctions).
Si vous instancier une classe: vous créez un objet. Si vous créez la classe, vous pouvez utiliser "ce" pour faire référence à l'objet en soi. C'est pourquoi vous ne pouvez pas définir le "ça", parce que c'est lié à l'objet. Elle est spéciale, en lecture seule variable.
this
les références de l'objet en cours d'instance d'une classe.this
est implicitement paramètre passé à des méthodes d'une classe: il est associé à une méthode et permet d'accéder à tous les membres de l'objet.Comme leur nom l'indique, les méthodes d'instance fonctionner sur instances d'une classe. Comment font-ils pour savoir lequel opérer? C'est ce que l'
this
paramètre est pour.Lorsque vous appelez une méthode d'instance, vous êtes vraiment, de manière invisible, en passant un paramètre supplémentaire: l'objet de l'invoquer sur. Par exemple, lorsque vous avez ceci:
et que vous appelez
$some_basket->a()
, derrière les scènes que vous êtes réellement appeler quelque chose commeBasket::a($some_basket)
. Maintenanta()
sait quiBasket
vous voulez travailler avec. Que paramètre spécial est ce quethis
se réfère à: l'objet que vous avez affaire.court:
$this
vous donne accès à l'objet des variables (et les méthodes) Edit: sein de la classe 🙂 Edit 2: (mais pas dans les méthodes statiques de la classe) 😀Plusieurs personnes ont expliqué en des termes similaires, mais pensé que je pourrais ajouter que, lorsque vous parlez à des gens peu familiers avec la programmation orientée objet, je lui explique que la définition de la classe est le plan, comme pour une maison, et que "cela" est la maison vous travaillez en ce moment. Il y a peut être d'autres maisons qui regardent exactement la même, mais c'est l'objet spécifique (maison).
Une classe est un modèle ou un "mourir" pour un objet.
Permet d'utiliser le classique 'vélos' exemple. Il y a beaucoup vexée vélos là-bas. Toutefois, nous avons créé un vélo, et nous pouvons utiliser le " ce " mot pour désigner cette moto.
Plus en plus technique, un sens, une classe est un modèle pour un objet qui sera instancié. Au moment de l'exécution, après qu'un objet a été instancié, ou s'il avait une instance de lui-même créé, nous pouvons alors utiliser le mot " il " en interne pour faire référence à l'instance qui exécute la méthode.