Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Klassenerstellung und Objekte in Javascript

Detaillierte Erläuterung der Klassenerstellung und Objekte in Javascript

黄舟
黄舟Original
2017-05-31 10:05:041087Durchsuche

Es gibt viele Möglichkeiten, Klassen und Objekte mit Javascript zu erstellen: 1. Ursprüngliche Erstellungsmethode, 2. Factory-Methodenmuster, 3. Konstruktionsmethode Muster, 4. Dynamische Prototypenmethode. Schauen wir uns Beispiele anhand von Beispielen genauer an > Die ursprüngliche Erstellungsmethode ist für Leute, die mit

Objektorientiert

vertraut sind, schwer zu akzeptieren. Sie haben immer das Gefühl, dass die Kapselung von

Attributen und Methoden

nicht sehr eng ist basiert auf der Methode „Objektname“ + „.“, was darauf hinweist, dass die Eigenschaften und Methoden, die dem Objektnamen folgen, Eigentum dieses Objekts (z. B. Person) sind. Sie können weiterhin Methoden hinzufügen Eigenschaften fügen beispielsweise das Altersattribut hinzu: person.age= 23; Diese Erstellungsmethode führt dazu, dass sich Personen, die mit der Java-

Programmierung
<script type="text/javascript">
  var person = new Object();
  person.name="Amy";
  person.sex="Woman";
  person.show=function(){
    document.write("name is: "+this.name+" ; sex is:"+this.sex);
  }
  person.show(); 
</script>
vertraut sind, unwohl fühlen. Wir können die ursprüngliche Erstellungsmethode weiter „kapseln“, siehe nächster Schritt:

2. Factory-Methodenmuster: Das Factory-Methodenmuster sieht eher aus wie eine Klasse, die von personFactory gekapselt wird die ursprüngliche Erstellungsmethode und gibt das erstellte Objekt an dieReferenz

Variable

zurück. Person kann dann auf das erstellte Objekt verweisen, aber es ist noch nicht perfekt: Jedes Mal, wenn Sie ein Objekt erstellen

und verwenden Sie das Objekt, um die Methode show() aufzurufen. Es wird eine neue Funktion show()
 <script type="text/javascript">
   function personFactory(name,age,sex){
     var ob=new Object();
     ob.name=name;
     ob.age=age;
     ob.sex=sex;
     ob.show=function(){
       document.write(ob.name+" "+ob.age+" "+ob.sex);
     }
     return ob;
   }
   var person=personFactory("Amy",21,"Woman");
   person.show();
 </script>
erstellt. Sie können dieselbe Show-Methode aufrufen, die Optimierungsmethode. Die Show wird außerhalb der Fabrik platziert folgt:

Funktionell gesehen löst der obige Code das Problem der Wiederverwendung von Funktionen, aber die Präsentationsmethode ähnelt nicht der Erstellung eines Objekts, und Leute, die mit Java vertraut sind, fühlen sich immer noch unwohl. Bitte sehen Sie sich den nächsten Schritt an: 3. Konstruktormuster: Die Erstellungsmethode des obigen Codes ist fast dieselbe wie die Erstellungsmethode von Java-Klassen und -Objekten. Die Attribute und Eigenschaften der Klasse werden gekapselt, und dann wird das neue Schlüsselwort verwendet, um ein Objekt zu erstellen und zurückzugeben. Ist dies nicht der Prozess zum Erstellen von Klassen und Objekten in Java, aber er kann auch optimiert werden. Das auf diese Weise erstellte Objekt wird sofort angezeigt, wenn die Show-Methode aufgerufen wird. Können wir eine für alle Objekte gemeinsame Methode erstellen, um eine Show-Funktion unabhängig zu erstellen? Genau wie die Methode static

in Java-Klassen verwenden alle Objekte dieselbe statische Methode, und die Antwort lautet „Ja“. Bitte sehen Sie sich den nächsten Schritt an:
 <script type="text/javascript">
   function show(){
     document.write(this.name+" "+this.age+" "+this.sex);
   }
   function personFactory(name,age,sex){
     var ob=new Object();
     ob.name=name;
     ob.age=age;
     ob.sex=sex;
     ob.show=show;
     return ob;
   }
   var person=personFactory("Amy",22,"Woman");
   person.show();
 </script>

4. Dynamische Prototypenmethode:

Hier wird ein kleiner Trick verwendet, um ein Objekt zu erstellen
 <script type="text/javascript">
   function person(name,age,sex){
     this.name=name;
     this.age=age;
     this.sex=sex;
     this.show=function(){
       document.write(this.name+" "+this.age+" "+this.sex);
       document.write("<br>");
     }
   }
   var per=new person("Amy",22,"Woman");
   per.show();
 </script>
Der Personenfunktionsblock wird in der Reihenfolge von oben nach unten ausgeführt. Natürlich ist die Tag-Variable nicht am Anfang definiert, daher wird der Inhalt im if-Anweisungsblock ausgeführt:

Die Bedeutung dieses Inhalts ist: Erstellen Sie eine Show-Methode, die zur Klasse Person gehört. Beachten Sie, dass es sich um eine Klassenmethode handelt, die der statischen modifizierten Methode in Java entspricht, und nicht um eine einzelne Methode Auf diese Weise können alle Objekte dieselbe Methode aufrufen, sodass dies nicht erforderlich ist. Wäre es nicht besser, beim Aufrufen von Methoden für verschiedene Objekte eine eigene Show-Funktion zu erstellen, was nicht nur Platz, sondern auch Zeit spart? Lassen Sie mich hier erklären, dass die in der Methode „Klassenname.prototype.property/method“ erstellten Eigenschaften und Methoden den in Java mit Static geänderten Variablen oder Methoden entsprechen. Sie gehören zur gesamten Klasse, nicht zu einem einzelnen Objekt , alle Objekte werden gemeinsam genutzt.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Klassenerstellung und Objekte in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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