其实通俗的讲类就是对象的模板,为了增强JS的OO特性,受mootoos框架启发我们可以使用一个JSON对象来描述这个对象的模板。在这个模板中我们可以模拟实现私有成员,受保护成员,静态成员。
这是一个在JS中模拟的类定义语法,代码中Class是一个自定义函数,它接受两个参数,第一个参数是类名、第二个参数是一个JSON用来一个对象的模板。在这个JSON对象中其中字段 "extend",,"initialize","static" 为一些预定义关键字,所表示的意义与基于类的传统OO语言相似。字段accessabe用来描述一个对象成员的可访问性,取值为("private","protected","public")在Class函数中会对这些关键字进行特殊处理,使其所修饰的成员具有相应的访问权限。
复制代码 代码如下:
Class("Person" ,{
//继承
extend: Animal,
//构造函数
initialize:function(name,sex){
this.name = name;
this.sex = sex;
Person.count++;
},
//静态成员
static:{
count: {
accessabe:"private",
value: ""
}
},
//实例成员
age: {//私有属性成员
accessabe:"private",
value:0
},
//公用属性
name: {
accessabe:"public",
value:""
},
sex:{
accessabe:"public",
value: ""
},
//方法
sleep: {//受保护方法
accessabe:"protected",
value: function(){
}
},
say: {//公用方法
accessabe:"public",
value: function(){
retun (this.age-1)
}
}
});
//调用
var xiaom = new Person("小明","男");
xiaom.age //私有属性不能访问
xiaom.sleep() //受保护方法不能访问
xiaom.say() //公用方法可以访问
这是一个在JS中模拟的类定义语法,代码中Class是一个自定义函数,它接受两个参数,第一个参数是类名、第二个参数是一个JSON用来一个对象的模板。在这个JSON对象中其中字段 "extend",,"initialize","static" 为一些预定义关键字,所表示的意义与基于类的传统OO语言相似。字段accessabe用来描述一个对象成员的可访问性,取值为("private","protected","public")在Class函数中会对这些关键字进行特殊处理,使其所修饰的成员具有相应的访问权限。
复制代码 代码如下:
Class("Person" ,{
//继承
extend: Animal,
//构造函数
initialize:function(name,sex){
this.name = name;
this.sex = sex;
Person.count++;
},
//静态成员
static:{
count: {
accessabe:"private",
value: ""
}
},
//实例成员
age: {//私有属性成员
accessabe:"private",
value:0
},
//公用属性
name: {
accessabe:"public",
value:""
},
sex:{
accessabe:"public",
value: ""
},
//方法
sleep: {//受保护方法
accessabe:"protected",
value: function(){
}
},
say: {//公用方法
accessabe:"public",
value: function(){
retun (this.age-1)
}
}
});
//调用
var xiaom = new Person("小明","男");
xiaom.age //私有属性不能访问
xiaom.sleep() //受保护方法不能访问
xiaom.say() //公用方法可以访问
标签:
类定义语法
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“Javascript类定义语法,私有成员、受保护成员、静态成员等介绍”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。