In es6 werden Eigenschaften und Methoden, die direkt von einer Klasse aufgerufen werden, als statische Mitglieder bezeichnet. Wenn Sie das Schlüsselwort static zu einer Variablen oder Funktion in einer Klasse hinzufügen, handelt es sich um ein statisches Mitglied; statische Mitglieder werden nicht als Elemente neuer Objekte instanziiert. Der Unterschied zwischen statischen Mitgliedern und Instanzmitgliedern: 1. Instanzmitglieder gehören zu bestimmten Objekten, während statische Mitglieder von allen Objekten gemeinsam genutzt werden. 2. Auf statische Mitglieder wird über Klassennamen oder Konstruktoren zugegriffen, und auf Instanzmitglieder wird über instanziierte Objekte zugegriffen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
Die Hauptidee von objektorientiert besteht darin, das zu lösende Problem in Objekte zu zerlegen. Bei der Einrichtung von Objekten geht es nicht darum, einen Schritt umzusetzen, sondern das Verhalten von Objekten zu beschreiben Jedes Objekt löst das Problem. Der Kern der Objektorientierung ist Objekt.
Vorteile der Objektorientierung:
Objektorientierte Funktionen:
Klassen und Objekte
Objekt: Es ist eine Instanz einer Klasse (es ist die Konkretisierung der Klasse)
Klassenschlüsselwort
class 类名{// "类名"是一个用户标识符 通常建议首字母大写 属性; 函数; }
函数名([参数]){ 函数体语句 }
Die übergeordnete Klasse muss definiert worden sein
Die Unterklasse, auch abgeleitete Klasse genannt, kann die Attribute und Funktionen der übergeordneten Klasse erben
Die Unterklasse kann nicht erben Sie den Konstruktor der übergeordneten KlasseUnterklassen können den Konstruktor der übergeordneten Klasse nicht erben. Wenn Sie den Konstruktor der übergeordneten Klasse aufrufen möchten, können Sie das Super-Schlüsselwort verwenden.
**Hinweis:** Wenn super im Konstruktor einer Unterklasse verwendet wird, um den Konstruktor der übergeordneten Klasse aufzurufen, muss die aufrufende Anweisung die erste Anweisung des Konstruktors der Unterklasse seinRufen Sie den Konstruktor der übergeordneten Klasse auf
变量名 = function([参数]){ 函数体语句 }
Gewöhnliche Mitgliedsfunktion aufrufen
class Person{ constructor(name,age,sex){// 构造函数 初始化对象的成员 this.name = name;// this指向构造函数新创建的对象 this.age = age; this.sex = sex; } tt = function(){ //普通的成员函数 console.log(this.name); console.log(this.age); console.log(this.sex); } } var p = new Person('李相赫',25,'男')// p1是一个对象 通过调用构造函数对p1的三个属性进行了初始化 p.fun();
class Circle{// 定义类Circlie constructor(r){ this.radius = r; }; area(){ // 计算圆的面积 var s = Math.PI*this.radius**2; return s; }; // 计算圆的周长 CircleLength = function(){ return 2*Math.PI*this.radius; }; }; var c1 = new Circle(5); console.log('半径为5的圆的面积='+c1.area()); console.log('半径为5的圆的周长='+c1.Circle_length());
statische Mitglieder und Instanzmitglieder
statische Mitglieder
zu lösen: Mitglieder, auf die überKlassenname
oderKonstruktor
Instanz zugegriffen wird Mitglieder : Mitglieder, auf die über Instanzobjekt
zugegriffen wird, werden Instanzmitglieder genannt Unterschied: Instanzmitglieder gehören zu bestimmten Objekten, während statische Mitglieder von allen Objekten gemeinsam genutzt werdenAuf statische Mitglieder wird überKlassenname oder Konstruktor zugegriffen , Instanzmitglieder sind Objekte, die durch Besuchen Sie
Statische Eigenschaften in ES6 definieren1. Definieren Sie statische Eigenschaften außerhalb der Klasse: Statisch Eigenschaftsname // 用类实现简单的四则运算
class Number{// 定义类Number
constructor(n1,n2){
this.n1=n1;
this.n2=n2;
};
add(){
var sum = this.n1+this.n2;
return sum;
};
sub(){
var sum1 = this.n1-this.n2;
return sum1;
};
mut(){
var sum2 = this.n1*this.n2;
return sum2;
};
p(){
if(this.n2!=0){
var sum3 = this.n1/this.n2;
return sum3;
}
}
}
var p1 = new Number(12,21);
console.log(p1.add());
console.log(p1.sub());
console.log(p1.mut());
console.log(p1.p());
Verwenden Sie das
statische Schlüsselwortclass 子类名 extends 父类名{ 函数体语句; };
super([参数])
】
Das obige ist der detaillierte Inhalt vonWas sind statische Mitglieder einer Klasse in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!