es6的classes
组织要领:
class Student{
constructor (name,age){
this.name=name;
this.age=age;
}
run(){
console.log("我会跑");
}
}
let xs = new Student("宋泽",25);
console.log(xs);//打印:Student {name: "宋泽", age: 25}。
//constructor:实例化那些默许属性。
继续:
class Teacher extends Student{
constructor (name,age,sex){
super(name,age);
this.sex=sex;
}
eat(){
console.log(this.name+"is eating")
}
}
var ls = new Teacher("先生","30","男");
console.log(ls);//打印:Teacher {name: "先生", age: "30", sex: "男"}。
ls.eat();//打印:先生is eating。
//extends:继续。
//super:继续属性要领。
解释:在组织要领里的super是指反类的组织要领。
get,set,static:
class Student{
constructor (name,age){
this.name=name;
this.age=age;
}
run(){
console.log("我会跑");
}
get xm(){
return this.name+"123";
}
set xm(value){
this.name=value;
}
static shangxue (){
console.log("去念书");
}
}
let xs = new Student("宋泽",25);
console.log(xs.xm);
xs.xm="大胖";
console.log(xs.xm);
Student.shangxue();
//get:猎取加赋值。
//set:设置。
//static:静态要领|类要领。
//set和get的要领名雷同,而且能够同名
要领重载|要领掩盖:
class Student{
constructor (name,age){
this.name=name;
this.age=age;
}
run(){
console.log("我会跑");
}
}
let xs = new Student("宋泽",25);
class Teacher extends Student{
constructor (name,age,sex){
super(name,age);
this.sex=sex;
}
eat(){
console.log(this.name+"is eating")
}
run(){
super.run();
console.log("我一直在跑");
}
}
var ls = new Teacher("先生","30","男");
ls.run();//我会跑 我一直在跑;
解释:虽然子类继续了父类的run要领,然则子类会把父类的要领给掩盖掉,这个就是要领掩盖。