文档章节

浅析继承方式

LinearLaw
 LinearLaw
发布于 2017/04/24 21:18
字数 287
阅读 8
收藏 0

最近发现有些概念都混淆了,重新回去查了下资料,做个记录。

1、原型继承

(1)、将对象指定为另一对象的原型,即可让该对象拥有另一对象的属性

不光光是属性,方法也可以使用。

    //创建构造函数
       function Person(){}

    //创建对象,并手动指定其constructor为Person
       var human = {
           constructor: Person,
           name: "jack",
           age: 18,
           gender: "male",
           say:function(){
                console.log("sayxxx")
           }
       };

    //指定构造函数Person的原型为human
       Person.prototype = human;

    //利用Person构造函数,创建实例化对象,该对象将会同时拥有Person和human的属性
       var p = new Person();
       console.log(p.name);
       console.log(p.say());

(2)、将对象的属性混入到原型中

       function Person(){}

       Person.prototype.extend = function (obj) {
           //本方法中的 this 指向的就是 Person.prototype
           for(var k in obj){
               this[k] = obj[k];
           }
       };
       var human = {
           name: "jack",
           age: 18,
           gender: "male"
       };

       Person.prototype.extend(human);

    //这里的extend相当于for-in语法
    //        for(var k in human){
    //            Person.prototype[k] = human[k];
    //        }

       var p = new Person();

2、经典继承

        Object.create()
        //这个方法有兼容性问题

        var obj = Object.create(obj1);
        //创建一个对象obj, 让obj1作为obj的原型

3、混入式继承(mix-in)

for(var k in obj1){
          obj[k] = obj1[k];        
}

© 著作权归作者所有

共有 人打赏支持
LinearLaw
粉丝 4
博文 36
码字总数 43561
作品 0
深圳
个人站长
Go入门教程

基础编程 01、Go语言介绍 02、环境搭建 03、第一个Go程序 04、命名、变量、常量 05、基础数据类型 06、格式化输出、类型转换、类型别名 07、运算符 08、流程控制 09、自定义函数 10、递归函数...

tennysonsky
01/19
0
0
跟我一起学习C++虚函数--第四篇

在前一篇,我们讨论了在多继承情况下,具有虚函数的类的内存布局情况。本篇将进一步探索在多重继承,即具有重复继承的情况下的内存布局情况。在阅读本篇和下一篇之前,建议先阅读本博客另一篇...

pathenon
2012/07/15
0
4
Javascript原型链和原型继承之浅析

哇好久都没有写随笔啦,整个人都慵懒啦。 为了不让大家忘记我,把以前写过的一些慢慢发出来。 在JS 中, 有两条链子,作用域链 和 原型链. 作用域链相对容易理解,两点 函数限定变量作用域,就是说...

sinat_34719507
2017/03/11
0
0
跟我一起学习C++虚函数--第五篇

在前一篇,我们讨论了在多重继承情况下,具有虚函数的类的内存布局情况。本篇将进一步探索在多重虚拟继承情况下的内存布局情况。 在讨论多重虚拟继承前,我们先对《浅析GCC下C++多重继承 & ...

pathenon
2012/07/15
0
0
android动画浅析

经过这几天对android动画的学习,本人对android动画有了些浅显的了解。 android动画分为三大类:帧动画(Frame animation)、补间动画(tween animation)、属性动画(property animation )...

风过后
2016/01/07
89
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊redisson的DelayedQueue

序 本文主要研究一下redisson的DelayedQueue maven <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.8.1</version></dependenc......

go4it
4分钟前
0
0
一张图看懂JVM

JVM结构示意图 JVM总体概述 JVM总体上是由类装载子系统(ClassLoader)、运行时数据区、执行引擎、内存回收这四个部分组成。其中我们最为关注的运行时数据区,也就是JVM的内存部分则是由方法...

小致dad
5分钟前
0
0
安全管理标准

安全生产严重等级分类: 故障频次: 风险等级矩阵:

乔老哥
36分钟前
2
0
数据结构“树”的相关微视频

今天在腾讯视频上闲逛,然後发现一个叫“岚人”的用户上传了几段小视频,基本上都在5分钟以内,讲解了关于树的一些结构和算法。零代码,非常适合初学者入门。不过,对于老鸟来说,这也是非常...

Iridium
48分钟前
1
0
10-利用思维导图梳理JavaSE-Java 集合

10-利用思维导图梳理JavaSE-Java 集合 主要内容 1.Collection接口 2.Set接口 2.1.Set接口概述 2.2.HashSet类 2.3.TreeSet类 2.4.SortedSet接口 3.List接口 3.1.List接口概述 3.2.ArrayList类...

飞鱼说编程
59分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部