当前位置: 首页 > news >正文

安陆网站asp.net做网站有何意义

安陆网站,asp.net做网站有何意义,群晖 建wordpress 500,黑龙江建设厅网官网借用原型对象继承父类型方法 目的: 儿子继承父类属性和方法,父类之后新增的方法不会被儿子继承。 前言: 先理解一个问题: Son.prototype Father.prototype; 这一操作相当于把Son的原型对象指向Father。 意味着Son的prototype的地址与Fa…

借用原型对象继承父类型方法

目的: 儿子继承父类属性和方法,父类之后新增的方法不会被儿子继承。

前言:

先理解一个问题:

Son.prototype = Father.prototype; 这一操作相当于把Son的原型对象指向Father。

意味着Son的prototype的地址与Father一致,如果我给Son新增函数,那么Father也会同步新增。

在这里插入图片描述

具体代码:

function Father(uname, age) {this.uname = uname;this.age = age;
}
Father.prototype.money = function() {console.log(100000);};
function Son(uname, age, score) {Father.call(this, uname, age);this.score = score;
}
Son.prototype = Father.prototype;let son = new Son('刘德华', 18, 100);
console.log(Son.prototype);
console.log(Father.prototype);

结果:

在这里插入图片描述

分析:

我们的初衷是,儿子继承父类属性和方法,父类之后新增的方法不会被儿子继承。

很明显儿子和父亲的成员函数和属性都一致,这是由于儿子和父类地址一致导致的。


解决方案:

Son.prototype = new Father();

首先用new创建一个父类的实例对象,然后让Son的原型对象指向这个新创建的对象即可。

在这里插入图片描述

从下往上理解:

Son原型对象:指向Father实例对象,继承Father实例对象的属性和方法

Father实例对象:含有__proto__属性,可以使用Father原型对象的新增的方法

Father原型对象:可以新增函数

此时,如果Son新增函数,由于Son和Father实例对象地址一致,只会影响到Father实例对象,而不会影响到Father原型对象上。


总结:

将子类所共享的方法提取出来,让子类的 prototype 原型对象 = new 父类()

通过父类实例化对象,开辟额外空间,就不会影响原来父类的原型对象。

有一说一,采用了深拷贝的思想。

  • Code:

    // 借用父构造函数继承属性
    // 1. 父构造函数
    function Father(uname, age) {// this 指向父构造函数的对象实例this.uname = uname;this.age = age;
    }
    Father.prototype.money = function() {console.log(100000);};
    // 2 .子构造函数 
    function Son(uname, age, score) {// this 指向子构造函数的对象实例Father.call(this, uname, age);this.score = score;
    }
    // Son.prototype = Father.prototype;  这样直接赋值会有问题,如果修改了子原型对象,父原型对象也会跟着一起变化
    Son.prototype = new Father();
    // 如果利用对象的形式修改了原型对象,别忘了利用constructor 指回原来的构造函数
    Son.prototype.constructor = Son;
    // 这个是子构造函数专门的方法
    Son.prototype.exam = function() {console.log('孩子要考试');}
    var son = new Son('刘德华', 18, 100);
    console.log(son);
    console.log(Father.prototype);
    console.log(Son.prototype.constructor);
    

参考:

可以看这两集

https://www.bilibili.com/video/BV1DY41177dM?p=37&spm_id_from=pageDriver&vd_source=30a98e03cd5a7bbfaeb4416fc48542e2

http://www.yayakq.cn/news/681621/

相关文章:

  • 怎样创办网站企业商场网站建设
  • cms二次开发网站建设济南网络推广公司排行榜
  • 外贸做的好的网站51模板网
  • 完全自定义纯代码打造你的wordpress站点侧边栏腾讯云怎样做网站
  • 重庆模板建站软件电商网站建设建站方案
  • 重庆住房建设部网站迈创网站建设
  • 网站建设公司在哪里宣传湛江建设局网站
  • 电商网站创办过程网页设计制作个人主页欣赏
  • 购物网站建站规划类似淘宝网站建设费用
  • google竞价推广网站快速优化排名排名
  • 有多个网页的大网站如何做天坛整装体验馆地址
  • 网站外包开发 代码的版权问题做公司简介需要多少钱
  • flash网站优缺点wordpress 旅游插件
  • 网站咨询界面设计杭州工业设计
  • wordpress菜单跳转页面跳转太原网站优化方案
  • 用天地图做网站福田产品设计
  • 赣州网站建设顺企网购物网站底部设计
  • 昆山智能网站建设怎么把自己做的网站发布到网上
  • 罗湖中小网站建设广州市天河区建设和水务局网站
  • 网站制作手机徐州做企业网站
  • 钱包网站开发广州网站关键词推广
  • 福州市鼓楼区建设局网站舆情监测软件
  • 网站续费收多少合适网站建设费计入哪个二级科目
  • 搭建本地网站环境核工业工程研究设计有限公司
  • 加强网站建设和管理的通知产品推广宣传方案
  • 中国建设银行官网站企业咸阳网站建设联系电话
  • 博物馆网站建设方案濮阳网站建设价格
  • 兰州做家教去哪个网站比较好临海营销型网站建设
  • wordpress站内搜索次数徐州建立网站
  • 现在的网站开发框架精准推广的渠道有哪些