面向对象02-面向对象三大特性

面向对象的三大特性

01 封装:提高代码的复用性,降低代码的冗余度,信息隐藏,把方法内部的实现隐藏,不需要关注内部实现的细节。

使用对象来封装函数和变量

代码示例

    //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 () {
        //播放......
        }
    }

02 继承:在编程语言中,继承指的是子类获取父类的属性和方法的行为;在js中,某个对象(子对象)获得另外一个对象(父对象)的属性和方法的行为

    //继承的简单示例
    //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]);
    }

03 多态

  • 多种形态,对于相同的操作(指令),不同的对象表现出不同的行为。
  • 隐藏不同,多用于强类型语言,而js属于弱类型,在这方面表现不多。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,136评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,176评论 18 399
  • 3月9日 因为雨 春天有点凉 我从一杯咖啡中喝出了酒的味道 这好像是这座城里最亲昵的味道 我喝出酒的味道脚步踉跄...
    行走的卓玛阅读 1,450评论 0 0
  • 自从昨天得到人事变动的消息,心里一直有些不安。舍不得现在的待遇,也向往新工作的好名声!忽然有得有失,也许也算成熟...
    慎先生阅读 1,468评论 0 0
  • 下夜班。 一般来讲,下夜班这天,早上八点交班。如果病人没有什么特殊情况,八点半可以下班走人。但是病人的事情怎么说得...
    下海一粒沙阅读 3,707评论 0 51

友情链接更多精彩内容