iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >Class中Extends和Implements属性的区别是什么
  • 731
分享到

Class中Extends和Implements属性的区别是什么

2024-04-02 19:04:59 731人浏览 安东尼
摘要

这篇文章给大家介绍Class中Extends和Implements属性的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<span >var Animal = ne

这篇文章给大家介绍Class中Extends和Implements属性的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。


<span >var Animal = new Class({
initialize: function(age){
this.age = age;
}
});
var Cat = new Class({
Extends: Animal,
initialize: function(name, age){
this.parent(age); // calls initalize method of Animal class
this.name = name;
}
});
var myCat = new Cat('Micia', 20);
console.log(myCat.name); //'Micia'.
console.log(myCat.age); // 20.</span>

代码如下:


<span >var Dog = new Class({
Implements: Animal,
setName: function(name){
this.name = name
}
});
var myAnimal = new Dog(20);
console.log(myAnimal.age);
myAnimal.setName('Micia');
console.log(myAnimal.name); // 'Micia'.
</span>


通过Extends实现继承时,需要通过调用parent方法来调用父元素的initialize方法从而继承父元素的属性

而通过Implements实现继承时,直接就可以继承父元素的属性,这种方式很适合父类不止一个的情况下

另外额外补充类方法Implement和extend,这两个方法用于扩展已经定义了的类

代码如下:


<span class="kw2"><span ></span></span><pre name="code" class="javascript"><span >var Animal = new Class({
initialize: function(age){
this.age = age;
}
});
Animal.implement({
setName: function(name){
this.name = name;
}
});
var myAnimal = new Animal(20);
myAnimal.setName('Micia');
console.log(myAnimal.name); //'Micia'</span></pre><span >
<span class="co1"></span></span>


“The main difference between extend and implement is that Implement changes the class's prototype, while Extend creates a copy. This means that if you implement a change into a class all instances of that class will inherit that change instantly, while if you use Extend then all existing instances will remain the same。”

简单翻译下:extend和implement的主要区别是,implement改变了类的prototype属性,而extend只是新建了一个副本。这意味着如果你通过implement对类做了改变,那将改变他的所有实例,而通过extend改变类的话,不会改变在此之前存在的实例。

代码如下:


var Thingy = new Class({
Go: function(){
alert('hi');
}
});
var myClass = new Thingy();
myClass.go();
Thingy.implement({
go: function(){
alert('implemented');
}
});
myClass.go();
Thingy = Thingy.extend({
go: function(){
alert('extended');
}
});
myClass.go();

关于Class中Extends和Implements属性的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Class中Extends和Implements属性的区别是什么

本文链接: https://www.lsjlt.com/news/67769.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Class中Extends和Implements属性的区别是什么
    这篇文章给大家介绍Class中Extends和Implements属性的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<span >var Animal = ne...
    99+
    2022-10-19
  • Java 中super T和extends T的区别是什么
    Java 中super T和extends T的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。extendsList< extends Nu...
    99+
    2023-06-17
  • c++中class和struct的区别是什么
    在C++中,class和struct都用于定义自定义的数据类型,但它们之间有几个区别。1. 默认的访问修饰符:在class中,默认的...
    99+
    2023-09-15
    c++
  • abstract class和interface的区别是什么
    本文小编为大家详细介绍“abstract class和interface的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“abstract class和interface的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-06-03
  • react hook和class的区别是什么
    这篇文章主要介绍“react hook和class的区别是什么”,在日常操作中,相信很多人在react hook和class的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2022-10-19
  • HTML中id和class属性之间的区别有哪些
    这篇文章主要为大家展示了HTML中id和class属性之间的区别有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“HTML中id和...
    99+
    2022-10-19
  • Vue中监视属性和计算属性的区别是什么
    这篇文章主要讲解了“Vue中监视属性和计算属性的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中监视属性和计算属性的区别是什么”吧!计算属性顾名思义,计算属性就是计算出来的属...
    99+
    2023-07-04
  • CSS中Visibility和Display属性的区别是什么
    CSS中Visibility和Display属性的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS DIV中Visibility...
    99+
    2022-10-19
  • CSS中px和em属性的区别是什么
    这篇文章给大家介绍CSS中px和em属性的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。详解px和em的特点和区别象素px是我们在定义CSS中经常用到的尺寸大小单位,而em在...
    99+
    2022-10-19
  • CSS中id和class之间的区别是什么
    这篇文章给大家分享的是有关CSS中id和class之间的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   id和class之间的区别   id具有唯一性,clas...
    99+
    2022-10-19
  • 什么是src属性和href属性?它们有什么区别?
    什么是src属性和href属性?它们有什么区别?在HTML中,src属性和href属性是两个常用的属性,用于引用外部资源。虽然它们在功能上有些相似,但在用法和引用资源类型上有一些区别。首先,让我们来看一下src属性。src是source的缩...
    99+
    2023-12-28
    href src 属性区别
  • CSS中zoom属性和scale属性有什么区别
    CSS中zoom属性和scale属性有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。zoom 属性语法:zoom:normal | <number...
    99+
    2023-06-09
  • HTML中,src属性和href属性有什么区别?
    src属性和href属性是在HTML中常用的属性,用于指定网页中外部资源的引用。虽然它们都可以用来引用外部资源,但在使用和功能上却有着不同的用途。首先,src属性用于指定外部资源在网页中的嵌入方式,常用于引入图片、音频、视频等媒体文件,以及...
    99+
    2023-12-28
    html 区别 href src
  • css中id与class的区别是什么
    这篇文章主要介绍“css中id与class的区别是什么”,在日常操作中,相信很多人在css中id与class的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css中id与class的区别是什么”的疑...
    99+
    2023-06-20
  • synchronized加锁this和class的区别是什么
    本篇内容介绍了“synchronized加锁this和class的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!synchroni...
    99+
    2023-06-21
  • CSS中padding-bottom和padding-right属性的区别是什么
    今天就跟大家聊聊有关CSS中padding-bottom和padding-right属性的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C...
    99+
    2022-10-19
  • CSS中padding-left和padding-left属性的区别是什么
    CSS中padding-left和padding-left属性的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS padding...
    99+
    2022-10-19
  • src与href属性的区别是什么
    本篇内容主要讲解“src与href属性的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“src与href属性的区别是什么”吧!src和href之间存在区别,能混淆使用。src用于替换当前...
    99+
    2023-06-08
  • CSS中Display与Visibility属性的区别是什么
    这篇文章将为大家详细讲解有关CSS中Display与Visibility属性的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS属性中Displ...
    99+
    2022-10-19
  • min-height 和 height 属性有什么区别
    min-height 和 height 属性都是用来设置元素的高度。- height 属性用于设置元素的固定高度。它指定了元素的内容...
    99+
    2023-09-26
    区别
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作