类、构造函数、实例、实例化的区别与联系

首先,我们要清楚,由于种种原因,同一个东西,往往有多种不同的 叫法,如:
构造函数又叫构造器,实例化的过程又叫构造,更是new的过程。

var oDate=new Date()
oDate 是一个对象,也是一个实例,可以用它来执行一些方法,如:
oDate.getFullYear()
(这里一般习惯用脚本语言做开发的,喜欢称它为 对象,其他的喜欢称它为 实例)
而我们不能用Date这个类去执行一些 方法;


换一个更生动的说法:

我们 根据一张图纸造一个产品,如,根据房子的图纸造房子,根据车的图纸来造车等等,,

这里
图纸  相当于  类
建造  这个动词  相当于   构造函数(构造器)和实例化(构造)
最终产品   相当于  对象(实例)

所以,从这个角度来说,单纯一张图纸(类),是 无法使用这个产品的一些功能或者方法的,需要我们把图纸 实例化 为一个产品(实例或对象)才行;


接下来,我们来看一下 ,建造的过程,或者构造器(构造函数):


constructor内部的东西就是整个构造器(构造函数)的东西。这里我们
形象的理解为 构造器(构造函数)为工厂机器人,让它造整个产品,,,
所以一些属性的添加,方法的调用,继承,都要在这里进行,,

同时,系统也会隐含的为我们做两件事:

1.  let this=new Object();  ---创建一个空白对象
2.  return this;       ---返回这个经过机器人添加东西的对象
### 同时注意这也就是,我们为什么在面向对象里,频繁使用this和找this指向问题的原因,,,
### 因为系统创建和返回对象,都是通过this来执行的
### 另外,面向对象的程序编写的过程中,遇到的大多数错误,一般都是this指向问题的错误

你可能感兴趣的:(类、构造函数、实例、实例化的区别与联系)