Tatsächlich ist eine Klasse im Volksmund die Vorlage eines Objekts. Um die OO-Funktionen von JS zu verbessern, können wir, inspiriert vom Mootoos-Framework, ein JSON-Objekt verwenden, um die Vorlage dafür zu beschreiben Objekt. In dieser Vorlage können wir private Mitglieder, geschützte Mitglieder und statische Mitglieder simulieren.
Dies ist eine in JS simulierte Klassendefinitionssyntax. Die Klasse im Code ist eine benutzerdefinierte Funktion, die zwei Parameter akzeptiert. Der erste Parameter ist der Klassenname und der zweite Parameter ist ein JSON Vorlage für ein Objekt. In diesem JSON-Objekt sind die Felder „extend“, „initialize“ und „static“ einige vordefinierte Schlüsselwörter, deren Bedeutung denen herkömmlicher klassenbasierter OO-Sprachen ähnelt. Das Feld accessabe wird verwendet, um die Zugänglichkeit eines Objektmitglieds zu beschreiben. Der Wert lautet („private“, „protected“, „public“). Diese Schlüsselwörter werden in der Klassenfunktion speziell verarbeitet, damit die geänderten Mitglieder entsprechende Zugriffsrechte haben.
Class("Person" ,{ //继承 extend: Animal, //构造函数 initialize:function(name,sex){ this.name = name; this.sex = sex; Person.count++; }, //静态成员 static:{ count: { accessabe:"private", value: "" } }, //实例成员 age: {//私有属性成员 accessabe:"private", value:0 }, //公用属性 name: { accessabe:"public", value:"" }, sex:{ accessabe:"public", value: "" }, //方法 sleep: {//受保护方法 accessabe:"protected", value: function(){ } }, say: {//公用方法 accessabe:"public", value: function(){ retun (this.age-1) } } }); //调用 var xiaom = new Person("小明","男"); xiaom.age //私有属性不能访问 xiaom.sleep() //受保护方法不能访问 xiaom.say() //公用方法可以访问
Das obige ist der detaillierte Inhalt vonWas sind private Mitglieder, geschützte Mitglieder und statische Mitgliederinstanzanalysen in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!