我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

这篇文章给大家介绍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属性的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

Java 中super T和extends T的区别是什么

Java 中super T和extends T的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。extendsList< extends Number> foo3的通配
2023-06-17

c++中class和struct的区别是什么

在C++中,class和struct都用于定义自定义的数据类型,但它们之间有几个区别。1. 默认的访问修饰符:在class中,默认的成员访问修饰符是private,而在struct中,默认的成员访问修饰符是public。2. 继承方式:在c
2023-09-15

Vue中监视属性和计算属性的区别是什么

这篇文章主要讲解了“Vue中监视属性和计算属性的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中监视属性和计算属性的区别是什么”吧!计算属性顾名思义,计算属性就是计算出来的属
2023-07-04

abstract class和interface的区别是什么

本文小编为大家详细介绍“abstract class和interface的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“abstract class和interface的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
2023-06-03

什么是src属性和href属性?它们有什么区别?

什么是src属性和href属性?它们有什么区别?在HTML中,src属性和href属性是两个常用的属性,用于引用外部资源。虽然它们在功能上有些相似,但在用法和引用资源类型上有一些区别。首先,让我们来看一下src属性。src是source的缩
什么是src属性和href属性?它们有什么区别?
2023-12-28

CSS中zoom属性和scale属性有什么区别

CSS中zoom属性和scale属性有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。zoom 属性语法:zoom:normal | |
2023-06-09

HTML中,src属性和href属性有什么区别?

src属性和href属性是在HTML中常用的属性,用于指定网页中外部资源的引用。虽然它们都可以用来引用外部资源,但在使用和功能上却有着不同的用途。首先,src属性用于指定外部资源在网页中的嵌入方式,常用于引入图片、音频、视频等媒体文件,以及
HTML中,src属性和href属性有什么区别?
2023-12-28

c++中的struct和class有什么区别

struct 和 class 在 c++ 中创建自定义类型,主要区别如下:默认访问权限不同,struct 为 public,class 为 private。struct 分配在栈空间,class 分配在堆空间。struct 可通过 publ
c++中的struct和class有什么区别
2024-05-12

css中id与class的区别是什么

这篇文章主要介绍“css中id与class的区别是什么”,在日常操作中,相信很多人在css中id与class的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css中id与class的区别是什么”的疑
2023-06-20

synchronized加锁this和class的区别是什么

本篇内容介绍了“synchronized加锁this和class的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!synchroni
2023-06-21

src与href属性的区别是什么

本篇内容主要讲解“src与href属性的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“src与href属性的区别是什么”吧!src和href之间存在区别,能混淆使用。src用于替换当前
2023-06-08

编程热搜

目录