Setter/Getter:属性/成员变量的封装
本质上是实例方法,但是在类的外部作为属性来访问,它允许创建只读和只写属性。
使用:
getter方法:必须有返回类型,且和要访问的私有属性类型一致。必须有返回语句,返回要访问的私有属性。
setter方法:必须要有参数,且参数类型要和访问的私有属性类型一致,返回类型为void,要有赋值语句。

好处:
①独特的访问控制(public/private...重新封装)能力。访问getter和setter创建的方法可以像访问属性一样方便。而且还可以做其他的事情,比如例子中每次访问hello时,都会使gettimes增加1:
隐藏属性实现细节。根据封装思想,将属性直接暴露在外部是不好的做法,尽量通过getter和setter(属性别名)方法来访问属性。
③在getter和setter方法中可以插入额外的代码逻辑,易于日后修改和扩展,如上例中的gettimes和settimes。
④用来绑定数据访问等。比如设置个变量为public类型用来在外部调用,如果想更改这个变量的值并进行相关的一系列处理就会比较麻烦,比如凡是调用这个变量的地方全部都要重新改,采用EnterFrame侦听来检查数据是否发生了变化显然不好。如果使用getter和setter只要更改这两个方法就可以了。
⑤访问类的属性而不需要将这个类公开,比如有个container内部有个rect_mc,如果想在container外部获取rect_mc的高度,总不能将container设为public,通过
public function get rect_mc.Width():Number
{
  return rect_mc.width;
}就可以访问了。
⑥给类添加只读和只写属性。方便修改类的私有成员属性。
⑦Interface的属性只能使用方法,所以必须使用getter/setter设定。

理解:可以理解成是一种属性的函数(方法)应用,即按属性方式 函数(方法)处理和包装,方便捕获事件和获取想要的结果。
另外,setter方法不一定要和该类中的某个成员变量联系一起,比如public function set doOtherThing(...){...},可以在函数体中处理其他的事情。

属性访问器(Property Accessor)----Setter/Getter相关推荐

  1. 【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )

    文章目录 I . 属性 字段 总结 II . 属性声明 III . 属性初始化器 IV . get / set 属性访问器 V . 属性幕后字段 field VI . 变量和常量的区别 VII . 延 ...

  2. threejs 影子属性_影子场vs.属性访问器接口第2轮

    threejs 影子属性 如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 摊牌 ,那么让我快速提及一下我们是如何做到这一点的. 首先,Dirk创建了JavaFX技巧23:" ...

  3. css阴影属性_第三场阴影场与属性访问器接口

    css阴影属性 这是" 影子字段与属性访问器"界面的 第3轮 . 如果您是新手,但不确定要怎么做,请查看我以前的文章或关于开发JavaFX应用程序时节省内存的第一篇文章 . 作为J ...

  4. 第三场阴影场与属性访问器接口

    这是" 影子字段与属性访问器"界面的 第3轮 . 如果您是新手,但不确定要怎么做,请查看我以前的文章或关于开发JavaFX应用程序时节省内存的第一篇文章 . 作为Java开发人员, ...

  5. 影子场vs.属性访问器接口第2轮

    如果你们还没有注意到Dirk Lemmerman和我之间的(轻松) 对决 ,那么让我快速提及一下我们是如何做到这一点的. 首先,Dirk创建了JavaFX技巧23:" 为属性保存内存阴影字段 ...

  6. ssm影城项目_影场与属性访问器界面

    ssm影城项目 卡尔·迪亚(Carl Dea)最近跟踪了我的一篇名为" 保存内存"的博客文章! 为属性使用阴影字段 . 在他的博客中,他建议使用称为"属性访问器" ...

  7. 影场与属性访问器界面

    卡尔·迪亚(Carl Dea)最近跟踪了我的一篇名为" 保存内存"的博客文章! 为属性使用阴影字段 . 在他的博客中,他建议使用一个称为"属性访问器"的接口来消 ...

  8. getter(访问器)和setter(修改器)用法

    getter可以用于访问对象中的私有属性. setter可以用于修改对象中的私有属性.具体操作看如下代码 #!usr/bin/env python #-*- coding:utf-8 -*- &quo ...

  9. 深入理解对象的数据属性与访问器属性及属性间相互转换

    ECMA-262 第 5 版在定义只有内部才用的特性(attribute)时,描述了属性(property)的各种特征.ECMAScript 中有两种属性:数据属性和访问器属性. 1. 数据属性 数据 ...

最新文章

  1. Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法
  2. Collection集合的三种初始化方法
  3. Autodesk SketchBook Pro 2020中文版
  4. use resources at the campus if possible
  5. C++学习基础八——重载输入和输出操作符
  6. MyBatis的插入数据操作
  7. [C++]有关深复制与copy constructor的一些问题与实例
  8. python爬虫:其他操作
  9. RocketMQ 使用及常见问题
  10. ajax封装 使用,AJAX封装类使用指南
  11. 【操作系统】磁盘结构
  12. Docker基础知识:Containers,Namespace,CGroups
  13. SEO策略几个常见现象
  14. Apple ID 被盗用的 5 个征兆,遇到其中一种,建议赶快改密码
  15. hibernate 中文文档
  16. visio画两条直线交叉但不弯曲不跨线
  17. 介绍一门很有前景的语言Nim(1)
  18. 研究生期间如何赚外快
  19. Pygame实战之外星人入侵NO.11——设置开始按钮
  20. Intent的基本属性及用法

热门文章

  1. setTimeout 的定时器的妙用
  2. 伸展树 Splay 模板
  3. ZOJ 2760 How Many Shortest Path (不相交的最短路径个数)
  4. android中一些能在国外使用的第三方地图
  5. Modbus RTU 通信应用案例
  6. ASP.NET MVC中为DropDownListFor设置选中项的方法
  7. 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
  8. Android系统介绍
  9. ASP.NET AJAX Preview 2
  10. linux环境 phpstudy集成环境中设置php永久环境变量