面向对象特征介绍

面向对象的三大特征

1.封装

  • 通过类的封装,隐藏内部细节
  • 将复杂的逻辑通过函数封装起来,使用的时候调用即可,不需要考虑内部的细节

2.继承

  • 子类可以从父元素继承属性或者方法

3.多态

  • 指由继承而产生的相关的不同的类,其对象对同一消息会作出不同的反应
  • 简单来说就是不同类型的不同形态

javascript中的继承

1.混入式继承

var o1 = {
        name: "jack",
        age: 18
    }

    var obj = {};

    obj.extend = function (object) {
        for (var k in object) {
            this[k] = object[k];
        }
    }

    obj.extend(o1);
    console.log(obj);
}

2.原型继承

  • 利用对象的动态性
function Person() {
    }

    Person.prototype.say = function () {
        return "hello"
    };
    Person.prototype.coding = function () {
        return "coding"
    };
    var p = new Person();
    console.log(p.say());
    console.log(p.coding());
  • 利用覆盖原型对象
function Car() {
    };
    Car.prototype = {
        //默认的原型对象中有constructor属性,为了与原来的对象一致
        //需要手动添加constructor属性
        constructor: Car,
        drive: function () {
            return "drive fast"
        }
    };
    var car = new Car();
    console.log(car.drive());
  • 利用混入式继承
function Student() {
   }

   Student.prototype.extend = function (object) {
       for (var k in object) {
           this[k] = object[k];
       }
   }
   Student.prototype.extend({
       name: "jack",
       age: 18
   })
   var student = new Student();
   console.log(student.name);

3.Object.create方法

//Object.create
  //语法 : var newObj = Object.create( 参数对象 );
  //将参数对象 看做 新对象 的原型对象
  var obj = {
    apple : "苹果",
    orange : "橘子"
  }
  var newobj = Object.create(obj);
  console.log(newobj.apple);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,248评论 25 709
  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 1,462评论 3 12
  • 以此纪念所有慰安妇 正值豆蔻梢头的她们,被推向黑暗深处 在阴影中无人问津无人倾诉 曾...
    尤舜禹阅读 256评论 2 3
  • 使用浏览器插件录制,请求无法发送成功 发现post请求一直无法发送成功.查看请求与录制后header区别.发现we...
    老欧阅读 7,930评论 0 0
  • 当妳的身影在我的脑海里挥之不去,我想我是喜欢上妳了。 不知是从什么时候开始,也许是第一次偶遇妳时的娇好容颜,也许是...
    半步清新阅读 324评论 0 1