Alors que les méthodes publiques fournissent un accès externe aux fonctionnalités de la classe, les méthodes privées offrent des opérations isolées au sein de la classe. JavaScript ne prend pas en charge nativement les méthodes privées, mais des approches innovantes peuvent imiter ce concept.
Considérez le scénario suivant :
<code class="javascript">function Restaurant() {} Restaurant.prototype.buy_food = function(){ // something here } Restaurant.prototype.use_restroom = function(){ // something here }</code>
Dans cet exemple, buy_food et use_restroom sont des méthodes publiques accessibles depuis l'extérieur. la classe. Comment pouvons-nous introduire une méthode privée que seules ces méthodes publiques peuvent appeler ?
JavaScript manque de véritables méthodes privées, mais il nous permet de créer des fonctions locales au sein des constructeurs de classe qui ne sont pas accessibles de l’extérieur. Voici comment :
<code class="javascript">function Restaurant() { var myPrivateVar; var private_stuff = function() { // Only visible inside Restaurant() myPrivateVar = "I can set this here!"; } this.use_restroom = function() { // use_restroom is visible to all private_stuff(); } this.buy_food = function() { // buy_food is visible to all private_stuff(); } }</code>
Dans cet exemple, private_stuff est une fonction locale au sein du constructeur Restaurant. Il ne fait pas partie du prototype et n'est accessible que par les méthodes use_restroom et buy_food.
Cette approche maintient la séparation souhaitée entre les méthodes publiques et « privées » tout en permettant à ces dernières de fonctionner de manière transparente au sein de la classe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!