Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie können wir private Methoden in JavaScript für eine verbesserte Kapselung simulieren?

Linda Hamilton
Freigeben: 2024-11-03 15:26:02
Original
201 Leute haben es durchsucht

How can we simulate private methods in JavaScript for enhanced encapsulation?

Überbrückung öffentlicher und privater Methoden in JavaScript

Während öffentliche Methoden externen Zugriff auf Klassenfunktionen ermöglichen, bieten private Methoden isolierte Operationen innerhalb der Klasse. JavaScript unterstützt private Methoden nicht nativ, aber innovative Ansätze können dieses Konzept nachahmen.

Stellen Sie sich das folgende Szenario vor:

<code class="javascript">function Restaurant() {}

Restaurant.prototype.buy_food = function(){
   // something here
}

Restaurant.prototype.use_restroom = function(){
   // something here
}</code>
Nach dem Login kopieren

In diesem Beispiel sind sowohl buy_food als auch use_restroom öffentliche Methoden, auf die von außen zugegriffen werden kann die Klasse. Wie können wir eine private Methode einführen, die nur diese öffentlichen Methoden aufrufen können?

Private Methoden mit lokalen Funktionen nachahmen

In JavaScript fehlen echte private Methoden, aber es ermöglicht uns, lokale Funktionen innerhalb von Klassenkonstruktoren zu erstellen die von außen nicht zugänglich sind. So geht's:

<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>
Nach dem Login kopieren

In diesem Beispiel ist private_stuff eine lokale Funktion innerhalb des Restaurant-Konstruktors. Es ist nicht Teil des Prototyps und nur über die Methoden use_restroom und buy_food zugänglich.

Dieser Ansatz behält die gewünschte Trennung zwischen öffentlichen und „privaten“ Methoden bei und ermöglicht letzteren gleichzeitig, nahtlos innerhalb der Klasse zu funktionieren.

Das obige ist der detaillierte Inhalt vonWie können wir private Methoden in JavaScript für eine verbesserte Kapselung simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage