面向对象的三大特性

面向对象的三大特性:{ 封装、继承、多态 }

  • 封装

    • 复用|信息隐蔽

代码示例

 //01 封装的简单说明
    //001 观察以下杂乱无关的语句,它们仅仅只是一堆无意义的全局变量
    var name = "乘风波浪";
    var actors = ["彭于晏","赵丽颖","邓超","李荣浩"];
    var showTime = "2017-1-28 - 2017-2-28";
    var director = "韩寒";
    var type = "喜剧";
    var play = function () {
        //播放......
    };

    //002 把上面的变量封装到对象中(更具体&有意义)
    var film  = {
        name:"乘风破浪",
        actors:["彭于晏","赵丽颖","邓超","李荣浩"],
        showTime:"2017-1-28 - 2017-2-28",
        director:"韩寒",
        type:"喜剧",
        play:function () {
        //播放......
        }
    }

  • 继承

    • ** 获取已经存在的对象已有属性和方法的一种方式(获取他人已有财富和资源的一种方式)。**

代码示例

  //继承的简单示例
    //001 创建一个空的对象
    var nullObj = {};

    // 上面的对象film拥有了很多的属性和方法
    //002 设法让nullObj拥有film中所有的属性和方法
    //方法一:自己重新写一遍
    //方法二:通过某种方式来获得,比如遍历该对象,然后完成赋值
    for(var k in film)
    {
        nullObj[k] = film[k];
    }

    for(var k in nullObj)
    {
        console.log(nullObj[k]);
    }

  • 多态(polymorphism)

多态:polymorphism = poly(复数) + morph(形态) + ism
多用于强类型语言中,JavaScript具备与生俱来的多态特性。
多态表现为:
    ① 同一操作,作用于不同的对象,会产生不同的解释和行为。
    ② 隐藏不同。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容