• 面向对象的三大特性


    面向对象的三大特性

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

    封装

    复用|信息隐蔽
    

    代码示例

        //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具备与生俱来的多态特性。
    多态表现为:
        ① 同一操作,作用于不同的对象,会产生不同的解释和行为。
        ② 隐藏不同。
  • 相关阅读:
    二叉查找树
    Rust更换Crates源
    Raft共识算法
    Session
    可以编写代码的代码:代码生成的利与弊
    引用和自包含令牌(Reference Tokens and Introspection)
    认证授权-学习笔记1-OAuth 2.0
    spring security原理-学习笔记2-核心组件
    spring security原理-学习笔记1-整体概览
    零拷贝Zero copy-linux and java
  • 原文地址:https://www.cnblogs.com/tmcx/p/6483019.html
Copyright © 2020-2023  润新知