`

AS 中创建成员属性

 
阅读更多

 

问题:

我要创建public成员属性


解决办法:

使用隐含getters和setters

 

讨论: 属性应该被申明为private 或者protected 。public属性并不是什么好主意,因为他不能体现封装性。要尽量做好封装,这意味着类不能暴露他的内部细节,public属性使开发者能轻易破坏类或类实例。下面的例子就是用了public属性:

package{
    public class Counter{
         public var count:int;
              public function Counter(){
                       count = 0;
                }
       }
}

 构造一个Counter实例,然后改变count属性值,如:

var counter:Counter = new Counter();

counter.count++;

但是如果count属性被规定不能超过100,那么外部修改很可能无法保证,这样破坏了这个规定,一个办法就是设置getters和setters。如下:

 

package 
{
	public class Counter{
		private var _count:unit;
		public function Counter() {
			_count = 0;
		}
	}
	public function getCount():unit {
		return _count;
	}
	public function setCount(value:uint):void {
		if (value < 100) {
			_count = value;
		}
		else {
			throw Error();
		}
	}
	
}
//另一个办法就是用隐式getters和setters,隐式getters和setters就像申明方法那样,但是看起来又像属性getter。
//语法如下:
public function get name():datatype {
	
}
//setter 语法
public function set name():datatype {
	
}
//下面定义隐式getter和setter方法
package {
	public class Counter {
		private var _count:int;
		public funcrion Counter() {
			_count = 0;
		}
		public function get Count():int {
			return _count;
		}
		public function set Count():void {
			if (value < 100) {
				_count = value;
			}
			else {
				throw Error();
			}
		}
	}
}
分享到:
评论

相关推荐

    AS3类继承树+AS3中文API

    3. 成员变量(属性),包括公有、私有和受保护的属性,以及它们的数据类型和作用。 4. 方法,包括实例方法和静态方法,详细说明了参数、返回值以及执行的操作。 5. 事件,如果类或接口与事件处理有关的话。 6. 示例...

    SQL2005 AS 维度属性与高级应用

    这篇内容将深入探讨SQL2005 AS中的维度属性及其高级应用,帮助你更好地理解和运用这个功能强大的数据分析平台。 维度是SQL2005 AS中数据立方体的核心组成部分,它们为用户提供了一种直观、易于理解的方式来探索多维...

    vb创建系统进程

    最后,调用`CreateProcess`函数,传入相应参数,如程序路径、命令行参数、进程属性等,即可创建新进程。这里需要注意,由于是创建系统进程,可能需要更高的权限,所以可能需要在`dwCreationFlags`中设置`CREATE_NEW_...

    AS400 编程手册

    - **文件和成员属性介绍**: 详细介绍各种属性的含义和用途,帮助开发者更精确地控制文件的行为。 #### 九、AS/400 Operations Navigator - **介绍**: AS/400 Operations Navigator是IBM提供的一种图形界面工具,用于...

    as400数据库快速入门

    在AS/400系统中,所有的基本单位都被称为**Object**,包括库(LIBRARY)、文件(FILE)、成员(MEMBER)、程序(PROGRAM)、输出队列(OUTQ)等。这些对象构成了AS/400的基础架构。 ##### 1.1.1 AS/400 Object的...

    Flex Call AS Class

    通过在MXML中定义`id`属性,并在AS类中使用`[Bindable]`或`[Inject]`元标签,可以实现MXML和AS类之间的数据绑定。 7. **面向对象编程** AS3支持类继承、多态性和接口。你可以创建一个基类,然后让其他类继承它以...

    as400入门开发

    4. 成员(Member):在AS/400中,一个文件可能包含多个成员,每个成员可以视为文件的一个独立部分,有自己的数据或程序。 掌握这些基本概念和工具,是AS/400入门开发的基础。随着经验的积累,开发者可以进一步学习...

    as3基础模块

    AS3中的类是对象的蓝图,用于定义属性和方法。通过关键字`class`声明一个类,如`class MyClass { ... }`。接口则定义了一组方法,但不包含实现,用`interface`关键字声明。类可以实现一个或多个接口,以确保遵循特定...

    AS3.0中Tween类的基础

    首先,Tween类并不是AS3.0的标准库中的直接成员,而是由第三方库如GreenSock(GSAP)、TweenMax或TweenLite提供。其中,GreenSock是最常用的一个库,它的TweenLite和TweenMax提供了强大的补间功能,并且易于使用。 ...

    as3基础教程

    类是AS3编程中用于定义对象属性和方法的蓝图。编写类的代码部分讲解了如何定义类和类成员(包括属性和方法),同时强调了代码的组织和命名规则。这对于编写清晰、可维护和可扩展的代码非常重要。 整体而言,AS3基础...

    as3.0学习手册

    - **定义**: ActionScript 3.0 (AS3) 是一种强大的面向对象的编程语言,用于创建交互式应用程序和游戏。它是 Adobe Flash 平台的核心组成部分之一,主要用于开发 Flash Player 和 Adobe AIR 应用程序。 - **发展历程...

    AS3类的详细介绍

    本文旨在深入解析AS3中的类概念及其应用,通过具体的示例帮助读者更好地理解类的基本结构、成员属性、构造函数以及继承等关键知识点。 #### 二、类的基本结构与概念 在AS3中,类是面向对象编程的基础,用于定义...

    as2.0内置类创建实例的命名技巧

    本文将详细介绍AS2..0内置类创建实例的命名技巧,并探讨其实际应用中的好处。 #### 二、AS2.0内置类简介与命名技巧 AS2.0作为一种广泛应用于Flash开发的语言,提供了一系列内置类来帮助开发者快速构建应用程序。...

    flash 时钟源代码 as

    在IT行业中,ActionScript 3.0(AS3.0)是Adobe Flash Professional和Flex Builder等工具中使用的一种编程语言,主要用于创建交互式内容、网页动画以及富互联网应用程序(RIA)。"Flash 时钟源代码 AS"是一个使用AS...

    AS3.0 基础教程

    #### 2.3 创建成员属性 成员属性是指与类相关的变量。在AS3.0中,可以使用`var`关键字来声明属性,并且可以通过访问控制修饰符(public, private, protected, internal)来控制属性的可见性和可访问性。 **示例:** ...

    as3 殿堂之路

    在“as3殿堂之路”这个主题中,我们可以深入探讨AS3的核心概念、语法特性以及实际应用。 一、AS3基础 1. 类与对象:AS3是完全基于类的,每个实例都是一个类的实例。类定义了对象的属性和方法,而对象则是类的具体...

    as400常用命令及说明

    AS400系统管理中常用的命令有很多,以下是其中一些常用的命令: 用户管理 * ADDAUTLE:添加权限表条目 * CHGPWD:修改普通用户密码 * CHGUSRPRF:修改用户描述 * CRTUSRPRF:创建用户描述 * DLTUSRPRF:删除用户 ...

    AS Eclipse VisualStudio快捷生成属性

    1.安装完成后,会在主菜单中的"Tools--AsEclipse"下看到本插件所有的功能。 2.所有的功能,都能在键盘上轻松完成,不需要使用鼠标。可以大大减少你使用鼠标的次数,无论是打开文件,打开一个类,还是定位到方法、...

    利用API创建文件目录...

    1. **初始化安全属性**:程序中定义了一个`SECURITY_ATTRIBUTES`类型的变量`SecAttrib`,并设置了其成员变量的值。 2. **路径处理**:对输入的路径进行检查,确保路径以反斜杠结尾。 3. **递归创建目录**:程序通过...

Global site tag (gtag.js) - Google Analytics