Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011-12-08 00:00
549 查看
其实通俗的讲类就是对象的模板,为了增强JS的OO特性,受mootoos框架启发我们可以使用一个JSON对象来描述这个对象的模板。在这个模板中我们可以模拟实现私有成员,受保护成员,静态成员。
这是一个在JS中模拟的类定义语法,代码中Class是一个自定义函数,它接受两个参数,第一个参数是类名、第二个参数是一个JSON用来一个对象的模板。在这个JSON对象中其中字段 "extend",,"initialize","static" 为一些预定义关键字,所表示的意义与基于类的传统OO语言相似。字段accessabe用来描述一个对象成员的可访问性,取值为("private","protected","public")在Class函数中会对这些关键字进行特殊处理,使其所修饰的成员具有相应的访问权限。
这是一个在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() //公用方法可以访问
相关文章推荐
- Javascript类定义语法,私有成员、受保护成员、静态成员等
- Javascript类定义语法,私有成员、受保护成员、静态成员等
- Javascript中怎么定义类(私有成员、静态成员)?
- Javascript 构造函数,公有,私有特权和静态成员定义方法
- 类里面定义一个指向自己的静态成员指针变量
- 公有、私有和受保护成员的特点
- Javascript构造函数,公有,私有特权和静态成员
- C++ static成员/类专属成员的定义/静态成员
- C++第十周【任务2】定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。
- javascript类的定义及成员修改
- C#--第九周 任务3--定义一个静态成员方法,使用Random实现从一组数中随机抽取n个不重复的数
- 【笔记】构造函数的私有、公有、特权、静态成员
- js 独立命名空间,私有成员和静态成员
- Javascript中公有成员,私有成员,静态成员
- Javascript中公有成员,私有成员,静态成员
- 类的静态数据成员在 类内只能声明,定义和初始化必须在类外
- c++ stl 源码解析笔记(一) stl_config 中的模板静态成员定义
- C++使用线程函数pthread_create时,调用的成员函数要定义为静态成员函数