• Javascript类定义语法,私有成员、受保护成员、静态成员等


    JS只是一门支持面向对象编程的语言,通过OO可以让我们的代码组织更加人性化。可是与传统基与类的面向对编程语言不同它没有类概念并且没成员访问修饰符。这多少会给我们编程工作会带来一些束缚。
    其实通俗的讲类就是对象的模板,为了增强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() //公用方法可以访问



  • 相关阅读:
    如何向Android模拟器打电话发短信
    APK文件安装模拟器和ADB命令的使用
    android的个人代码总结
    android一些基础知识
    android常用的一些属性说明
    新的博客
    用字符进行布尔值判断,踩到的一个小坑
    通过outlook的web邮箱获取指定邮件内容的邮件
    使用win32com接口获取outlook收件箱的内容
    Python 详解命令行解析
  • 原文地址:https://www.cnblogs.com/chu888chu888/p/2325221.html
Copyright © 2020-2023  润新知