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();
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。