ES6快速学习(五)面向对象

ES6之前的面向对象使用函数模拟的 并非真正意义上的面向对象

始终坚信一句话 系统提供的API永远是最好的


以前的面向对象
各种恶心复杂版本的实现我就不说了
我才你肯定要问?(好奇害死猫)
自己看高三第六章

       function Person(name,age){
            this.name=name;
            this.age=age;
        }
        Person.prototype.showName=function(){
            return this.name;
        };
        Person.prototype.showAge=function(){
            return this.age;
        };

        //继承
        function Worker(name,age,job){
            Person.apply(this,arguments);
        }
        Worker.prototype=new Person();
        Worker.prototype.constructor=Worker;

        var p1=new Person('aaa',30);
        var w1=new Worker('bbb',10,'上学');

//        alert(p1.showName());
        alert(w1.showName());

真正意义上的面向对象

简易版

class Person{
    constructor(name,age){  //构造函数
        this.name=name;
        this.age=age;
    }
   showName(){
       return this.name;
   }
}

var p1=new Person('bbb',40);
alert(p1.showName());

继承

class Person{
    constructor(name,age){  //构造函数
        this.name=name;
        this.age=age;
    }
    showName(){
        return this.name;
    }
}
        //继承
class Worker extends Person{
    constructor(name,age,job){
        super(name,age);
        this.job=job;
    }
    showJob(){
        return this.job;
    }
}

var p1=new Person('bbb',40);
var w1=new Worker('aaa',10,'学生');

alert(p1.showJob);
//alert(w1.showJob());
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,625评论 25 709
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 3,718评论 2 27
  • 蝴蝶在飞翔, 扇动着花的芳香。 小鸟在飞翔, 扇动着风的清凉。 太阳在飞翔, 扇动着宇宙的霞光。 我不会飞翔, 但...
    晨光微晓阅读 362评论 5 2
  • 前段时间和朋友聊天,忽然说到发说说的事,TA无论开心不开心,从来不怎么发说说,而我最近,忽然什么都想用文字或图片,...
    陶子记阅读 420评论 0 1

友情链接更多精彩内容