`
nijiaben
  • 浏览: 130519 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

谈谈actionscript中的getter和setter

阅读更多
   大家在学习actionscript时也许也跟我一样碰到过一些疑问,希望大家都能把自己的疑问抽取出来,一起讨论讨论,共同进步。
    对于曾经主要学习java的程序员来说对于getter和setter有些不是很习惯的,java中很简单两段代码就了事了
    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

对于as初学者来说可能不是很清楚as中的getter和setter,当看到下面的代码时,可能会觉得疑惑
package
{	
	public class GetterSetterTest
	{
		private var name:String;
		public function GetterSetterTest()
		{
			
		}
		public function get name1():String{
			return this.name;
		}
		public function set name1(name:String):void{
			this.name=name;
		}
		public function getName():String{
			return this.name;
		}

	}
}

对于最后的那个函数getName()是跟java中一样的,对于上面的两个函数就不知道怎么回事了,这样的表示也会觉得很奇怪,的确,一开始我也觉得很怪异,怎么会有这样的表示方法呢,函数名居然用空格隔开了,get name1,类似这样的名字应该是一头雾水吧。其实这也不是很奇怪,这是as的一种改进,通过他可以使一些代码更简洁些,当然那方法中的代码是java中表达意思是一样的,下面看这段,它是如何访问的呢:
package
{
	import flash.display.Sprite;

	public class Test extends Sprite
	{
		public function Test()
		{
			
			var gt:GetterSetterTest=new GetterSetterTest();
			gt.name1="ljp;
			trace(gt.name1);
			trace(gt.getName());
		}
		
	}
}
我们通过创建一个测试类来测试我们刚刚的代码,我们可以通过
gt.name1="ljp;
来进行赋值,其实它是调用了set name1()方法,这样表达起来就简洁些了,当我们就是简单的
gt.name1;
的话就是调用get name1()方法,看起来应该很神奇吧对于这样的表达,至于为什么我们不能把方法名写成get name()和set name(),这点我也有点疑惑,如果这样写的话报的错是不兼容的覆盖和方法重复定义,如果哪位大侠知道,还望留下一脚。
1
0
分享到:
评论

相关推荐

    actionscript 3.0 get set 生成器

    actionscript 3.0 getter setter as3 代码生成,可自动生成get set 方法。增加了清屏功能。

    as get set类生成工具

    在ActionScript中,手动编写getter和setter可能会耗费大量时间,尤其是当类有多个属性时。这个"As GETandSET生成工具"正是为了解决这个问题,它可以自动生成这些方法,使得开发过程更加高效。工具的工作原理通常是...

    MXML 基本语法和ActionScript 类的标签使用

    - Getter和Setter:使用get和set关键字自动创建访问器方法。 - 继承:支持类的继承,实现多态性。 - 访问控制:提供公共(public)和私有(private)成员,以及静态(static)成员。 - 类型转换:可以显式进行类型...

    如何定义一个getter和seter设置的属性可以被绑定

    在编程语言如ActionScript(特别是在Adobe Flash、Flex框架中使用)中,getter和setter通常被用来控制数据的访问和修改。在这个上下文中,我们会探讨如何通过getter和setter来定义一个可绑定的属性。 首先,根据...

    Adobe Flex编码指南[中文][PDF]

    - ActionScript文件结构必须包含开篇注释、定义包、声明命名空间、Import描述、use声明(命名空间)、元数据、定义包和接口、静态变量、未使用getter和setter的变量、构造函数及用getter和setter处理的变量和方法等...

    一步一步学ActionScript 3.0

    // 如果想要修改私有变量`s`,可以通过提供公共的getter和setter方法实现: public function get s():Number { return this.s; } public function set s(value:Number):void { this.s = value; } ``` 这样,就...

    flash cs3 语言及其语法

    这里,`sampleGreeting` 属性使用 getter 和 setter 方法来提供对 `_sampleGreeting` 变量的安全访问。 #### 构造函数 类还可以包含构造函数,构造函数用于初始化新创建的对象实例。构造函数没有返回类型,并且...

    Flash Builder 4 快速入门

    3.3 Getter & Setter 3.4 自动生成EventHandler 3.5 条件断点 第四章 Flex SDK 4 新特性 4.1 主题 4.2 布局 4.3 特效 4.4 样式 4.5 状态 4.6 双向绑定 4.7 ASDoc 4.8 SWFObject 与 HTML Template 第五章...

    ActionScript 3.0编译器编译错误大全

    `getter`和`setter`应分别用于获取和设置属性值。如果仅定义了`getter`而尝试设置属性值,或将`setter`用作获取方法,将导致错误。 ### 错误1061:属性未声明 每个类属性都必须在使用前声明。尝试访问未声明的属性...

    ActionScript3.0教程

    - 属性分为两种类型:读取器(getter)和写入器(setter)。例如: ```as public class SampleClass { private var _value:Number; public function get value():Number { return _value; } public ...

    flex3 数据绑定 总结

    在 Flex 中,你可以通过访问器(getter 和 setter 方法)来创建动态属性,这些访问器可以执行额外的逻辑,如验证或转换数据。 ```actionscript public class MyComponent extends UIComponent { private var _...

    flash自定义类案例

    上述代码定义了一个名为`MyCustomClass`的类,具有两个私有属性`_property1`和`_property2`,以及对应的getter和setter方法,允许外部访问和修改这些属性值。 在.FLA文件中,我们需要确保该自定义类被正确引用。在...

    Flex Bindable 的用法

    然而,正确使用`[Bindable]`元数据需要注意其适用范围和限制,特别是在处理getter/setter时,需要确保编译器能够识别出绑定关系,以避免潜在的问题。在某些复杂情况下,可能需要通过事件驱动的方式手动触发绑定更新...

    Flex与Java通过实体传递数据

    这个类包含了字段和getter/setter方法,用于存储和访问数据。 数据交换通常通过HTTP请求完成,Flex使用HTTPService发送请求到Java服务器,Java服务器处理请求,然后返回响应。响应可以是一个JSON或XML格式的数据,...

    flash+jsp+javabean+数据库

    它们是符合特定规范的Java类,通常具有getter和setter方法,用于封装和管理数据。在JSP中,JavaBean可以作为业务逻辑层,处理数据操作和业务流程,与视图层(如JSP页面)和控制层(如Servlet)分离。 4. **数据库**...

    仿照Flexstroe3写的一个员工管理应用 (四)

    3. **数据模型**:创建代表员工的类,定义属性如姓名、职位、工号等,以及相应的getter和setter方法。 4. **数据存储**:仿照Flexstore3,可能涉及了自定义数据存储组件,用于保存和检索员工数据。这可能涉及到本地...

    Adobe+Flex编码指南

    - 通过 getter 和 setter 处理的变量和方法。 **3.2 样式** - **3.2.1 行与换行**: 保持一致的缩进和换行方式,提高代码的可读性。 - **3.2.2 声明**: 明确声明变量类型,提高代码的可维护性。 - **3.2.3 括号**: ...

    Flex Data Binding详解

    可以为getter或setter函数添加`[Bindable]`元数据,如: ```actionscript public var ss:Object = {value: "aaa"}; [Bindable] public function get gg():String { return ss.value; } public function set gg...

Global site tag (gtag.js) - Google Analytics