首页新闻招聘找找看知识库
  • 浏览:1225 2011-05-31 11:29 来自 zuora

    Field与property都属于面向对象方法学中的属于——“状态”,与“行为”相对。


     


    Field 又称为域,instance level
    field又称为成员变量;class
    level field又称为静态变量;


    Property 又称为属性,instance level称为成员属性,class level
    properties称为静态属性。


    Note: Apex Using Static Properties


    When a property is declared as
    static, the property's accessor methods execute in a static context. This means
    that the accessors do not have access to non-static member variables defined in
    the class.


    在Java, Action Script或者Apex编程语言中,属性(Property)会以不同样式的Getter或Setter形式存在。


    如在Java中,Property定义方式遵照JavaBean的命名规范如下:







        public
    int
    getWidth() {


            return this.measuredWidth;


       
    }


     


       
    public
    void
    setWidth(int
    width) {


            this.explictWidth = width;


            invalidteProperties();


       
    }


     


    在Action
    Script中,Property可以定义如下:







        public
    function get width():Integer {


            return this.measuredWidth;


       
    }


     


       
    public
    function
    set width(var width:Integer):void {


            this.explictWidth = width;


            invalidteProperties();


       
    }


     


    在Apex中,Property定义如下:







        public
    Integer width {


         get
    {


               return this.measuredWidth;


       
       }


    set
    {


                this.explictWidth = width;


                invalidteProperties();


       
        }


    }


     


    在Java编程中对属性值的设置,通常通过调用Setter完成,如下:


     







    ...


    object.setWidth(10);


    ...


     


     


    而在Action Script或者Apex编程语言中,可以通过对属性名称直接赋值完成,如下:


     







    ...


    object.width = 10;


    ...


     


    上述一次赋值操作将导致调用一次width的setter方法。


     


    给出Property的Sample Code是为了让初学者更清楚Field与Property的区别与联系。

登录后才能评论,请先登录注册