1:定义class
class Employee {
constructor(name
,age
){
this.name
= name
;
this.age
= age
;
}
}
var emp
= Employee("z",20);
console
.log(emp
);
2:成员方法
class Employee {
constructor(name
,age
){
this.name
= name
;
this.age
= age
;
}
signIn(){
console
.log(this.name
+"男");
}
get info(){
this.info
= this.name
+ " " + this.age
}
set info(info
){
let [name
,age
] = info
.split(" ");
this.name
= name
;
this.age
= age
;
}
}
var emp
= Employee("z",20);
emp
.signIn();
console
.log(emp
.info
);
emp
.info
= "h 19";
console
.log(emp
.info
);
1)getter和setters关键字和原生js的一样,也是使用get和set关键字
3:面向对象实现继承 使用extends关键字
class Father {
constructor(name
,age
){
this.name
= name
;
this.age
= age
;
}
}
class Son extends Father {
}
var son1
= new Son("q",20);
console
.log(son1
);
son1
.num
= 5;
console
.log(son1
);
1)调用父类的构造函数来扩展子类的属性,使用super关键字来代表父类自身
class Father {
constructor(name
,age
){
this.name
= name
;
this.age
= age
;
}
}
class Son extends Father {
constructor(name
,age
,num
){
super(name
,age
);
this.num
= num
;
}
}
var son1
= new Son("q",20,5);
console
.log(son1
);
2)使用super关键字调用父类的其他方法
class Father {
constructor(name
,age
){
this.name
= name
;
this.age
= age
;
}
signIn(){
console
.log(this.name
+"mmp");
}
}
class Son extends Father {
constructor(name
,age
,num
){
super(name
,age
);
this.num
= num
;
}
signIn(){
super.signIn();
console
.log(this.name
+"nmd");
}
}
var son1
= new Son("q",20,5);
console
.log(son1
);
son1
.signIn();
4:成员变量(新)
class Employee {
num
= "";
}
var emp
= new Employee();
console
.log(emp
);
emp
.num
=5;
console
.log(emp
);
5:静态成员(新) static
1)静态成员变量是class级别的,只能通过(类名.变量)来访问
class Page {
static count
= 0;
}
Page
.count
++;
console
.log(Page
.count
);
2)静态成员方法和静态成员变量一样,只不过是定义了类中的方法 只能通过(类名.方法)来访问
class Page {
static count
= 0;
static add(){
Page
.count
++;
}
}
Page
.add();
console
.log(count
);
转载请注明原文地址:https://blackberry.8miu.com/read-14529.html