通过getter和setter方法将一个属性绑定在事件上
用bindable 元标签把 getter方法绑定在事件上,但Inputtext数据发生变化是调用setter方法,就会调派事件,对相应的私有变量进行操作
当phoneNumberChanged事件被分派的时候,第二个TextInput组件会被更新,因为他的text属性绑定到了phoneNumber变量上。
在类里边,一些变量会需要get和set方法,而常用的解决方法有两种,一种是自己写get和set函数,另一种是用set和get方法,2个看起来差不多,例子如下:
01.package {
02. public class Person{
03. private var _name:String;
04. private var _sex:String;
05. function Person(name:String){
06. this._name = name;
07. }
08. public function setSex(sex:String):void{
09. this._sex = sex;
10. }
11. public function getSex():String{
12. return _sex;
13. }
14. }
15.}
我们建立了一个Person类,对外提供了函数setSex()和getSex(),外部使用的时候调用这2个函数就可以了.如:’person.setSex(”male”)’,'person.getSex()’….
而使用set和get方法则是这样:
01.package {
02. public class Person{
03. private var _name:String;
04. private var _sex:String;
05. function Person(name:String){
06. this._name = name;
07. }
08. public function set sex(sex:String):void{
09. this._sex = sex;
10. }
11. public function get sex():String{
12. return _sex;
13. }
14. }
15.}
这样一来的话就可以直接使用”person.sex”来set和get _sex的值了
那么,在 Java 中没有办法更改获取或设置 fullName 属性的行为。如果类的设计者想要更改获取或设置属性的基础行为,他们必须更改类实现者与类进行交互的方式。这显然不是理想之选,所以在 Java 中我们通常使用 get 和 set 函数隐藏属性。Java 语言尚无 Java 属性,所以我们使用多种方法来隐藏实现。因此,我们的 Java 类将是:
private String fullName;
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}这允许类设计者更改获取和设置 fullName 属性的行为,同时不更改外部接口。
在 Flex 中,通常不必在对象上创建包装 getter 和 setting 函数,因为 ActionScript 支持属性。这意味着,您通常仅可以创建如下的公共属性:
public var fullName:String;如果获取或设置 fullName 属性的内部实现需要更改,那么可以改编类,以具备 getter 和 setter 函数,而无需更改类的外部接口:
private var _fullName:String;