当前位置:首页 > 日记 > 正文

面向对象的封装和继承

面向对象的封装和继承
在JS面向对象中对封装和继承进行整理。

1。封装

js封装中有许多实现,它们都是常用的。

1.1原始模式生成对象

将我们的成员直接写入对象并用函数返回它。缺点:很难看到模式的示例。

代码uff1a

复制代码代码如下所示:

函数Stu(名称,得分){

返回{

姓名,

评分:评分

}

}

VaR学生1 =斯图(张三

无功stu2 =斯图(李四

console.log(学生1。名称); / /张三
1.2代结构模式对象
js帮助我们提供一个构造函数来构建对象模型,所谓的构造函数实际上是一个普通函数,但是这个变量的内部使用。当新关键字用于生成构造函数的实例时,这个变量被绑定到实例对象。

直接在代码上:

复制代码代码如下所示:

函数Stu(名称,得分){

this.name =名称,

this.score =得分

}

VaR学生1 =新斯图(张三

无功stu2 =新的学生(李四

console.log(stu1.name + stu2.score + / / / );张三90

Console.log((stu1.constructor = = STU)+/+(stu2.constructor = = STU); / /真实)

(console.log(学生1是斯图)+/+(stu2是斯图)); / /真实
不难看出,JS的构造函数生成对象和C #生成的类。使用模板通过新键定义对象成员都是实例化的。

生成的C代码相同的研究对象#

复制代码代码如下所示:

班学生

{

公用字符串名;

公开双得分;

}
好了,这里是基本的对象,所以现在我们需要一个方法,所有对象都是通用的,只允许创建一次这个方法,如果不重复创建对象,你会怎么做我们都知道,我们可以在C #使用静态成员,那么你在做什么吗

1.3原型模式
在JS,每个构造函数的原型属性和对象的所有属性和方法都是由构造函数实例继承。然后我们添加成员直接原型声明静态成员在C #等效。

代码uff1a

复制代码代码如下所示:

函数Stu(名称,得分){

this.name =名称,

this.score =得分

}

斯图。原型类型=‘';

stu.prototype.log =函数(){

console.log(S);

}

VaR学生1 =新斯图(张三

无功stu2 =新的学生(李四

console.log(stu1.type + stu2.type + / / / );学生

stu1.log(你好); / /你好

console.log(stu1.log = = stu2。日志); / /真的
封装在这里。让我们看看js中继承是如何实现的。

2。继承

2.1构造函数约束
电话或申请方法直接调用的子函数,和父对象的构造函数是绑定到子对象。
复制代码代码如下所示:

函数Stu(名称,得分){

Grade.apply(这个参数);

/ / grade.call(这个观点);

this.name =名称,

this.score =得分

}

函数级(){

this.code =初中;

this.ask =函数(){

console.log(大家好);

}

}

VaR学生1 =新斯图(张三

无功stu2 =新的学生(李四

console.log(学生1。代码); / /初中

(学生1。问); / /你好
在这里,应用程序做两件事,将第一个参数给这个等级构造函数(调用者),然后在类中执行代码。

2.2通过原型继承

先看代码

代码uff1a

复制代码代码如下所示:

函数Stu(名称,得分){

this.name =名称,

this.score =得分

}

函数级(){

this.code =初中;

}

stu.prototype =新的年级();

stu.prototype.constructor = / /预防研究;产业链紊乱,手动复位的声明

VaR学生1 =新斯图(张三

无功stu2 =新的学生(李四

console.log(Stu。原型。构造函数); / /自己的构造函数

console.log(学生1。代码); / /初中
如前所述,原型C #相当于一个静态成员,所以我们把父类的所有成员到自己的静态成员开展传承。

通过原型继承的缺点是:所有继承的成员都是静态的,那么如何继承对象成员呢

2.3份遗产

父对象的所有属性和方法都复制到子对象中进行继承。

代码uff1a

复制代码代码如下所示:

函数Stu(名称,得分){

this.name =名称,

this.score =得分

}

函数(等级){ }

grade.prototype.code =初中;

}

函数包

函数扩展(c,p){

var p = p.prototype;

var c = c.prototype;

对于(var i){

c {我} = { } };

}

}

扩展(学生,年级);

VaR学生1 =新斯图(张三

无功stu2 =新的学生(李四

学生1。代码=高学校;

console.log(学生1。代码); / /高中

console.log(stu2。代码); / /初中

console.log(Stu。原型。构造函数);

console.log(等级。原型。构造函数)
这里写的是JS面向对象的排序规则,这个东西是不一样的。使用时会根据你的需要而改变,一个字很好,右边是最好的。

这里我们只分析封装和继承。稍后,我们将做一些其他的文章,以便我们的合作伙伴对Javascript面向对象编程有更深入的了解。当然,这是个人的理解,如果有遗漏,请与我联系。

相关文章

用Array.prototype.sort的方法()排序

用Array.prototype.sort的方法()排序

方法,排序,对象数组,数组,对象,本文说明了JS uses Array.prototype.sort()排序的数组对象。分享给你供你参考。具体分析如下: 当我们排序的数组对象,让Array.prototype.sort的一个简单的想法()。排序方法接受一个参数,函数,函数,它提供了两种参数,这…

写意版中文版的新特点

写意版中文版的新特点

写意,版中,电脑软件,Macromedia正式宣布今年freehandmx的中文版介绍,Macromedia公司说这是公司的第一个官方发布的简体中文版的写意中国。它的设计将启动freehandmx在线版中文试用手记近日,敬请期待。现在让我们得到一些写意MX的新功能一个粗…

教你用CDR制作一个漂亮的购物标志

教你用CDR制作一个漂亮的购物标志

教你用,标志,漂亮,电脑软件,CDR,本教程是介绍给一个朋友,利用CDR,使一个美丽的购物商场的标志。这个课程制作的logo很漂亮,而且教程很简单。当新手学习和推荐它时,喜欢它的朋友可以和教程一起学习。 本教程是介绍给一个朋友,利用CDR,使一个美丽的…

ajax的零基学习ajax框架

ajax的零基学习ajax框架

框架,学习,电脑软件,ajax,本文介绍了ajax的基础知识——ajax,并将其应用于ajax异步请求服务器。可以看出,Ajax的某些过程是相对不变的,每次发送请求时不必编写发送代码,而一些Ajax开发人员已经将它们的过程封装成Ajax框架。 这一部分主要介绍…

Word2003中什么类型的英文字体可以

Word2003中什么类型的英文字体可以

字体,字符统计,类型,英文,电脑软件,问题:Word2003中什么类型的英文字体可以增加字符统计 答案uff1a - 1,你可以随意写几封信。字体设置为最小值。段落的长度设置为1,颜色是白色的。这些词在文档中是看不到的。 2,你可以用拼音输入法,按V,然后…

js方法来动态修改iframe的高度和宽

js方法来动态修改iframe的高度和宽

动态,修改,方法来,宽度,高度,本文介绍了动态修改iframe的高度和宽度的JS方法。分享给你供你参考。以下是如下: 如果你想动态修改iframe的高度和宽度通过按钮,你可以参考下面的js代码 changesize()函数 { document.getelementbyid(myFrame)。高…

用PS与数字板相结合绘制图形的2种

用PS与数字板相结合绘制图形的2种

数字,绘制图形,种方法,电脑软件,PS,接下来,小编将介绍2种方法绘制PS结合数字绘图板。这个教程相当不错。它包括一些着色技巧和一些笔刷调整技术。我希望你看到这之后会有帮助。 这本教科书是向你介绍用数字板绘制ps的方法。对于ps学习者来说…

ps快速和新鲜绿色扁平按钮

ps快速和新鲜绿色扁平按钮

按钮,新鲜,快速,电脑软件,ps,本教程是给大家介绍一下用ps来画鲜绿色压平按钮的过程很快,这个按钮画的很漂亮,这个教程的难度不是很大,新手朋友也可以来学习一下。 本教程教学习者PS鼠标平绘按钮,使用ps快速绿色绘制,渲染出来的按钮非常漂亮,方法…

简单发挥土地裂缝的作用

简单发挥土地裂缝的作用

作用,裂缝,土地,简单,电脑软件,本教程向朋友们介绍一种用CDR创建土地裂缝效果的简单方法。本教程比较简单,很适合初学者学习。建议喜欢的朋友一起学习。 本教程向朋友介绍CDR创建土地裂缝效应的简单方法。本教程是一个初级CDR教程,适合初级CD…

PS图象处理软件的设计和制作漂亮的

PS图象处理软件的设计和制作漂亮的

动画,闪烁,霓虹灯,图象,处理软件,在制作动画之前,我们需要把霓虹灯分成几层。每封信都以一组的形式排列。同时,每一个字母都有多个层次,指示灯、霓虹灯和墙面的亮点。之后,我们可以按照一定的规则来设置动画。 在制作动画之前,我们需要把霓虹灯…

对于CorelDRAW9实用的方法和技巧

对于CorelDRAW9实用的方法和技巧

方法,技巧,电脑软件,CorelDRAW 9的实用方法和技巧,本教程是很基本的,推荐给朋友,你想一起学习。 今天,介绍9个技能CorelDRAW的朋友,都是一些很实用的方法和技巧,学习CDR的朋友去了解它!以下是一个具体的介绍: 1。确保平稳渐进变化 当你在CorelDRA…

PS图象处理软件画出美丽的彩色立体

PS图象处理软件画出美丽的彩色立体

教程,画出,图象,处理软件,彩色,本教程是一个三维环Lo法PS学习PS图象处理软件画美丽多彩,教程所产生的效果真是漂亮,教程很详细,但一个小步骤,推荐给朋友,爱看 本教程是一个三维环Lo方法介绍使用PS图象处理软件画出漂亮的颜色,效果非常漂亮,难度不…