数码资讯
Javascript的继承(1)
不管Javascript是面向对象的语言还是支持对象的语言,我认为每个人都有自己的观点,那些忠实的Javascript爱好者必须说Javascript是面向对象的语言。像Javascript王者归来,Javascript是基于原型的面向对象。我想谈谈我个人的看法。三特征的面向对象、继承、多态、封装、
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
不管Javascript是面向对象的语言还是支持对象的语言,我认为每个人都有自己的观点,那些忠实的Javascript爱好者必须说Javascript是面向对象的语言。像Javascript王者归来,Javascript是基于原型的面向对象。我想谈谈我个人的看法。三特征的面向对象、继承、多态、封装、Javascript,虽然不喜欢java,C #和其他面向对象语言中,有一些支持到底。因此,Javascript是一种有某些原因的面向对象语言,但继承了这部分讨论一系列的继承法,但每个继承法不能实现真正的面向对象语言的力量,让他有一个牵强的面向对象的。总之,我的理解Javascript更可能把它称为一个简化的面向对象,或伪面向对象(这个伪字没有贬义)。
今天我们从面向对象的第一个特征:继承。
什么是继承这我不想浪费,有一个动物,一个人,一个女孩,这是最简单的,也是典型的继承链。
在面向对象的对象如C #,很容易。
复制代码代码如下所示:
类动物
{ }
阶级人物:动物
{ }
班级女生:人
{ }
所以在Javascript中,没有类,没有继承,我们应该怎么做
对象伪装(构造继承)
什么是物体伪装我们可以称结构继承更容易理解,顾名思义,它是使用构造函数来继承继承,也就是说,父类的构造函数被认为是在子类的构造函数中执行的通用方式。这样,当对象被构造时,子类的对象当然可以构造父类的方法。
或者,通过上面的例子,代码如下所示:
复制代码代码如下所示:
功能动物()
{
这个函数=(){警报(我可以运行);};
}
功能人(姓名)
{
下面是对父/父构造函数的介绍,然后执行父构造函数,这个时间/方法可以在父类中使用。
这个,爸爸=动物;
This.father();
请记住,删除子类中的方法,或者添加到具有相同名称的父类中的方法,将被修改为父类。
删除这个。父亲;
这个名字=名字;
这个函数。
}
功能女孩(姓名,年龄)
{
这个,父亲=人;
This.father(人名);
删除this.father;
这个年龄=年龄;
这一步。引入函数=(警报);
}
通过这种方式,实现并测试了一系列继承。
复制代码代码如下所示:
新动物();
A. Run();
var p =新的人(windking );
P. Run();
P. Say();
新女孩()
G. Run();
G. Say();
G. Introduce();
结果如下:
A.
B.
C.
D.
E.
F.
测试成功!
让我们总结一下这个代码的关键,指定父类,声明父类对象,然后删除临时变量。你觉得有点麻烦吗至少我是这么认为的。一旦我们忘记删除,我们就需要冒修改父类的风险。为此,我们使用调用和应用来改进它。
然后看看代码,或者上面的例子(为了让你更容易理解需求改变,动物有名字):
复制代码代码如下所示:
功能动物(名称)
{
这个函数=(){警报(我可以运行);};
}
功能人(姓名)
{
使用调用方法实现继承
这个,爸爸=动物;
this.father.call(这名字);
这个名字=名字;
这个sayname =函数(){ alert(我的名字是这个名称;)};
}
功能女孩(姓名,年龄)
{
使用应用程序方法实现继承
这个,父亲=人;
This.father.apply(这个新的数组(名字));
这个年龄=年龄;
这一步。引入函数=(警报);
}
有了相同的测试代码,人们发现测试和测试一样成功。
如果你是新手,可能看到后面的两段代码有些晕倒,什么叫,什么是应用好的,在继承继承的主题中,我加入了一个附加的问题系列。如果我不知道这一点,我可以阅读我的文章:游戏的方式:调用和应用。
对象伪装只是实现继承的一种方式。在下一篇文章中,我将继续写其他继承方式和几种继承方式的优缺点。欢迎继续关注。
今天我们从面向对象的第一个特征:继承。
什么是继承这我不想浪费,有一个动物,一个人,一个女孩,这是最简单的,也是典型的继承链。
在面向对象的对象如C #,很容易。
复制代码代码如下所示:
类动物
{ }
阶级人物:动物
{ }
班级女生:人
{ }
所以在Javascript中,没有类,没有继承,我们应该怎么做
对象伪装(构造继承)
什么是物体伪装我们可以称结构继承更容易理解,顾名思义,它是使用构造函数来继承继承,也就是说,父类的构造函数被认为是在子类的构造函数中执行的通用方式。这样,当对象被构造时,子类的对象当然可以构造父类的方法。
或者,通过上面的例子,代码如下所示:
复制代码代码如下所示:
功能动物()
{
这个函数=(){警报(我可以运行);};
}
功能人(姓名)
{
下面是对父/父构造函数的介绍,然后执行父构造函数,这个时间/方法可以在父类中使用。
这个,爸爸=动物;
This.father();
请记住,删除子类中的方法,或者添加到具有相同名称的父类中的方法,将被修改为父类。
删除这个。父亲;
这个名字=名字;
这个函数。
}
功能女孩(姓名,年龄)
{
这个,父亲=人;
This.father(人名);
删除this.father;
这个年龄=年龄;
这一步。引入函数=(警报);
}
通过这种方式,实现并测试了一系列继承。
复制代码代码如下所示:
新动物();
A. Run();
var p =新的人(windking );
P. Run();
P. Say();
新女孩()
G. Run();
G. Say();
G. Introduce();
结果如下:
A.
B.
C.
D.
E.
F.
测试成功!
让我们总结一下这个代码的关键,指定父类,声明父类对象,然后删除临时变量。你觉得有点麻烦吗至少我是这么认为的。一旦我们忘记删除,我们就需要冒修改父类的风险。为此,我们使用调用和应用来改进它。
然后看看代码,或者上面的例子(为了让你更容易理解需求改变,动物有名字):
复制代码代码如下所示:
功能动物(名称)
{
这个函数=(){警报(我可以运行);};
}
功能人(姓名)
{
使用调用方法实现继承
这个,爸爸=动物;
this.father.call(这名字);
这个名字=名字;
这个sayname =函数(){ alert(我的名字是这个名称;)};
}
功能女孩(姓名,年龄)
{
使用应用程序方法实现继承
这个,父亲=人;
This.father.apply(这个新的数组(名字));
这个年龄=年龄;
这一步。引入函数=(警报);
}
有了相同的测试代码,人们发现测试和测试一样成功。
如果你是新手,可能看到后面的两段代码有些晕倒,什么叫,什么是应用好的,在继承继承的主题中,我加入了一个附加的问题系列。如果我不知道这一点,我可以阅读我的文章:游戏的方式:调用和应用。
对象伪装只是实现继承的一种方式。在下一篇文章中,我将继续写其他继承方式和几种继承方式的优缺点。欢迎继续关注。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。