class{
constructor(){//构造函数
}
foo(){
}
}
继承
class Cls2 extends Cls1{
constructor(){
super();
}
}
/*
面向对象
最重要的是封装和继承
继承:继承一个已有的类,再扩展其功能
ES6的继承
*/
//ES5的面向对象写法
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype.sayName = function(){
console.log(this.name+':'+this.age);
}
var P1 = new Person('blue','23');
P1.sayName();
//老版本的继承
function Vipperson(name,age,level){
Person.call(this,name,age);
this.level = level;
}
Vipperson.prototype = new Person();
Vipperson.prototype.constructor = Vipperson;
Vipperson.prototype.showLevel = function(){
console.log(this.name,this.level);
}
var P = new Vipperson('j',21,2);
P.showLevel();
//ES6面向对象的写法
class Person1{
constructor(name,age){//构造器,相当于构造函数
this.name = name;
this.age = age;
}
sayName(){//方法
console.log(this.name + ':' + this.age);
}
}
var P2 = new Person1('lu','25');
P2.sayName();
//ES6的继承
class Vipperson1 extends Person1{
constructor(name,age,level){
super(name,age);//继承属性和方法
this.level = level;
}
showLevel(){
console.log(this.name + this.level)
}
}
var P3 = new Vipperson1('z',10,1);
P3.showLevel();
P3.sayName();