重构——59构造函数本体上移(Pull Up Constructor Body)

简介: 构造函数本体上移(Pull Up Constructor Body):你在各个子类中拥有一些构造方法,它们的本体几乎完全一致;在超类中新建一个构造函数,并在子类构造函数中调用它

构造函数本体上移(Pull Up Constructor Body)

你在各个子类中拥有一些构造方法,它们的本体几乎完全一致;在超类中新建一个构造函数,并在子类构造函数中调用它

一、动机

子类无法继承超类的构造函数

二、做法

1、在超类中定义一个构造函数。将子类构造函数中的共同代码搬移到超类构造函数中

2、将子类构造函数中的共同代码删掉,改而调用新建的超类构造函数

3、编译,测试

目录
相关文章
|
8月前
|
自然语言处理 JavaScript 前端开发
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
作用域的概念及作用?作用域的分类?.js 属于哪种作用域?
76 0
网易:所有的对象最终都会继承自 Object.prototype ? ——原型链(二)详细讲解!
网易:所有的对象最终都会继承自 Object.prototype ? ——原型链(二)详细讲解!
|
5月前
|
JavaScript
网易:所有的对象最终都会继承自 Object.prototype ? ——原型链(一)详细讲解!
网易:所有的对象最终都会继承自 Object.prototype ? ——原型链(一)详细讲解!
|
8月前
|
JavaScript 前端开发 开发者
【专栏】JavaScript 中的 prototype 和__proto__是关乎对象继承和属性查找的关键概念
【4月更文挑战第29天】JavaScript 中的 prototype 和__proto__是关乎对象继承和属性查找的关键概念。prototype 是函数属性,用于实现对象继承,方法和属性定义在其上可被所有实例共享。__proto__是对象属性,实现属性查找机制,当对象自身找不到属性时,会沿原型链向上查找。两者关系:__proto__指向构造函数的 prototype,构成对象与原型的桥梁。虽然 prototype 可直接访问,但__proto__由引擎内部维护,不可见。理解两者区别有助于深入学习 JavaScript。
103 1
|
8月前
|
JavaScript 前端开发 Java
JavaScript难点:原型、原型链、继承、new、prototype和constructor
JavaScript 不像 Java、C++ 这种纯面向对象的语言,可以通过类实现继承,JavaScript中的继承是通过原型实现的,即使 ES6 中新增的 class 类也只是原型的语法糖而已
89 4
|
8月前
|
JavaScript 前端开发 Go
<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别
<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别
85 0
lodash判断对象的直接或继承属性是否存在
lodash判断对象的直接或继承属性是否存在
198 0
|
JavaScript 前端开发
学习javaScript必知必会(7)~Object类、修改this指向、继承关系
学习javaScript必知必会(7)~Object类、修改this指向、继承关系
141 0
学习javaScript必知必会(7)~Object类、修改this指向、继承关系
|
JavaScript 前端开发
一篇文章理解JS继承——原型链/构造函数/组合/原型式/寄生式/寄生组合/Class extends
说实在话,以前我只需要知道“寄生组合继承”是最好的,有个祖传代码模版用就行。最近因为一些事情,几个星期以来一直心心念念想整理出来。本文以《JavaScript高级程序设计》上的内容为骨架,补充了ES6 Class的相关内容,从我认为更容易理解的角度将继承这件事叙述出来,希望大家能有所收获。
1567 0
|
JavaScript
jquery对象与dom对象之间互相转换的方法
  本文主要讲述jquery对象和js里的dom对象之间互相转换的方法,使jquery对象可以直接使用js里的方法,或js里的dom对象使用jquery里的方法。 jquery对象和dom对象是不一样的,什么是jquery对象?什么是dom对象?我们举个例子来说: $("#aijquery"): //这种方式获取得到的就是jquery对象 document.
1023 0