首页 uam变量、字段、域、属性、属性过程lum

uam变量、字段、域、属性、属性过程lum

举报
开通vip

uam变量、字段、域、属性、属性过程lumuam变量、字段、域、属性、属性过程lum C#中的变量、字段、域、属性、属性过程 在C#中: 域: 表示与对象或类相关联的变量,修饰符不论是不是public。(与字段类似) 字段: 表示与对象或类相关联的变量。通常来讲修饰符是public的成员变量称为字段, 而private更适合说是局部变量。(与域类似) 属性: 表示域或字段的自然扩展,使得在保证封装性的基础上实现了访问私有成员的 便捷性。 域 域表示与对象或类相关联的变量,声明格式如下: attributes field-modifiers ...

uam变量、字段、域、属性、属性过程lum
uam变量、字段、域、属性、属性过程lum C#中的变量、字段、域、属性、属性过程 在C#中: 域: 表示与对象或类相关联的变量,修饰符不论是不是public。(与字段类似) 字段: 表示与对象或类相关联的变量。通常来讲修饰符是public的成员变量称为字段, 而private更适合说是局部变量。(与域类似) 属性: 表示域或字段的自然扩展,使得在保证封装性的基础上实现了访问私有成员的 便捷性。 域 域表示与对象或类相关联的变量,声明 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 如下: attributes field-modifiers type variable-declarators; 域的修饰符field-modifiers可以是:new、public、protected、internal、private、static、 readonly。实际上,域相当于C++中的简单成员变量。在下面的代码中,类A包含了三个 域:公有的X和Y,以及私有的z。 class A { public int x; public string y; private float z; } 字段 字段是与对象或类相关联的变量。 当一个字段声明中含有static修饰符时,由该声明引入的字段为静态字段(static field)。 它只标识了一个存储位置。不管创建了多少个类实例,静态字段都只会有一个副本。 当一个字段声明中不含有static修饰符时,由该声明引入的字段为实例字段 (instance field)。类的每个实例都包含了该类的所有实例字段的一个单独副本。 在下面的示例中,Color类的每个实例都有r,g,b实例字段的不同副本,但是Black, White,Red,Green和Blue等静态字段只有一个副本: public class Color { public static readonly Color Black = new Color(0, 0, 0); public static readonly Color White = new Color(255, 255, 255); public static readonly Color Red = new Color(255, 0, 0); public static readonly Color Green = new Color(0, 255, 0); public static readonly Color Blue = new Color(0, 0, 255); private byte r, g, b; public Color(byte r, byte g, byte b) { this.r = r; this.g = g; this.b = b; } } 如示例所示,通过readonly修饰符声明只读字段。给readonly字段的赋值只能作为声明的组成部分出现,或者在同一类中的实例构造函数或静态构造函数中出现。 属性 为了类的封装性,一般是把字段设为Private, 把属性设为公有来操作字段。 属性(property)是字段的自然扩展,两者都是具有关联类型的命名成员,而且访问字段和属性的语法是相同的。然而,属性与字段不同,不表示存储位置。相反,属性有访问器(accessor),这些访问器指定在它们的值被读取或写入时需执行的语句。 属性的声明类似于字段,不同之处在于属性的声明以定界符{}之间的get访问器和,或set访问器结束,而不是分号。同时包含get访问器和set访问器的属性称为读写属性(read-write property)。只具有get访问器的属性称为只读属性(read-only property)。只具有set访问器的属性称为只写属性(write-only property)。 get访问器相当于一个具有属性类型返回值的无参数方法。除了作为赋值的目标外,当在表达式中引用属性时,会调用该属性的get访问器以计算该属性的值。 set访问器相当于一个具有单个名为value的参数和无返回类型的方法。当一个属性作为赋值的目标,或者作为++或--运算符的操作数被引用时,就会调用set访问器,所传递的自变量将提供新值。 List类声明了两个属性Count和Capacity,依次是只读和只写的。下面是使用这些属性的示例: List names = new List(); names.Capacity = 100; //调用set访问器 int i = names.Count; //调用get访问器 int j = names.Capacity; //调用get访问器 与字段和方法类似,对于实例属性和静态属性,C#两者都支持。静态属性是声明中具有static修饰符,而实例属性则没有。 属性的访问器可以是虚拟的。当属性声明中包含virtual,abstract,override修饰符时,它们将运用到属性访问器。 来自MSDN中的内容: 属性与字段 属性与字段都可在对象中存储和检索信息。它们的相似性使得在给定情况下很难确定哪个是更好的编程选择。 在以下情况下使用属性过程: 1. 需要控制设置或检索值的时间和方式时。 2. 属性有定义完善的一组值需要进行验证时。 3. 设置值导致对象的状态发生某些明显的变化(如 IsVisible 属性)。 4. 设置属性会导致更改其他内部变量或其他属性的值时。 5.必须先执行一组步骤,然后才能设置或检索属性时。 在以下情况下使用字段: 1. 值为自验证类型时。例如,如果将 True 或 False 以外的值赋给 Boolean 变量,就会发生错误或自动数据转换。 2. 在数据类型所支持范围内的任何值均有效时。Single 或 Double 类型的很多属性属于这种情况。 3. 属性是 String 数据类型,且对于字符串的大小或值没有任何约束时。 Visual Basic中属性和变量的差异(在C#中应该也是一样的) 变量和属性都表示可以访问的值。但在存储和实现方面有所不同。 变量 变量 直接对应于内存位置。可以使用单个声明语句定义变量。变量可以是“局部变量”,在过程中定义且仅可用于该过程;它也可以是“成员变量”,在模块、类或结构中定义,但不在任何过程中定义。成员变量又称“字段”。 属性 属性 是在模块、类或结构中定义的数据元素。使用 Property 和 End Property 语句之间的代码块定义属性。此代码块包含一个 Get 过程t或一个 Set 过程,或两者都包含。这两个过程称为“属性过程”或“属性访问器”。除了检索或存储属性的值外,它们还可以执行自定义操作,如更新访问计数器。 不同点 下表指出了变量和属性之间的一些重要差异。 差异点 变量 属性 声明 单个声明语句 代码块中的一系列语句 实现 单个存储位置 可执行代码(属性过程) 存储 直接与变量的值关联 通常包含内部存储;在属性的包含类或模块外部,这些内部存储不可用属性的值可能作为也可能不作为一个存储元素(见下(1)) 存在可执行代码 无 至少必须有一个过程 读写访问权限 读/写或只读 读/写、只读或只写 自定义操作 不可能 可以当作部分设置或检索属性值执行 注解:(1)和变量不同,属性的值可能不直接对应于单个存储项。为方便或安全起见,存储可能拆分为几块;也可能以加密格式存储值。在这些情况下,Get 过程将汇编这些块或解密存储值,然后 Set 过程会加密新值或将其拆分到构成存储的各个组成部分中。属性值可以是临时的,如一天中的某个时间,在这种情况下,每次访问此属性时,Get 过程将及时计算此属性。 类与模块之间的差异 类和模块之间的主要差异在于:类可以实例化为对象,而 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 模块则不能。
本文档为【uam变量、字段、域、属性、属性过程lum】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_496339
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:0
分类:
上传时间:2017-12-06
浏览量:31