All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
在Win2003,R2上安装SQL,Server,2005(二)_[SQL,Server教程]
PHP安全基础,注射基础经验技巧汇总篇_php资料_编程技术
技巧汇总:C#编程的七个小技巧_.net资料_编程技术
PEAR简介_php资料_编程技术
用ASP.NET,2.0,FormView控件控制显示_[Asp.Net教程]
php+xapian,extension的安装_php资料_编程技术
javascript实现网页图片等比例缩放_JavaScript技术_编程技术
轻松掌握Ajax.net系列教程四:用Ajax.net实现客户端回调(Callback)_[Asp.Net教程]
将GridView内容导出到Excel或Word中_[Asp.Net教程]
Delphi执行sql server区间查询
Reading number is top 10 pictures
深圳的风光
有种屌丝级别的好妹子
007 James. bond's new lover
Fierce! China's special forces training the devil1
机器人也有性生活吗?
Lewd,it is too lewd.
各种囧况!玩游戏最不喜欢出现的十件事(点评)
清扫五脏垃圾,我有绝招
Beautiful Japanese beauty(漂亮的日本美女)3
Absolutely shocked. National geographic 50 animal photographys4
Download software ranking
在线棋牌游戏3.05版
致我们终将逝去的青春
Unix video tutorial20
Boxer Classic video2
SP3 for SQL2000
Sora aoi 120 minutes
Photoshop 8.0图象编辑软件
Boxer's Top ten classic battle2
尖东毒玫瑰A
Unix video tutorial5
qq published in(发表于) 2014/7/11 9:19:17 Edit(编辑)
c#中域和属性的概念

c#中域和属性的概念

c#中域和属性的概念



域也叫成员变量,它表示存储位置,用来保存类的各种数据信息。域是C#中不可缺少的一部分。这个成员代表一个与一个对象或类相关的变量。一个域声明把一个或多个给定类型的域引入。域的声明非常简单,例如:

private Thread t = null;
域的修饰符可以是new、public、protected、internal、private、static、readonly。

一个声明了多个域的域声明和单个域的多个声明相等。例如:

private int a;

private int b;

private int c;

等同于:

private int a,b,c;
域又分为静态域和实例域。当域的声明中包含static修饰符时,域就是静态域。如果域的声明不包含static修饰符,则域就是实例域。实例域属于具体的对象,为特定的对象专有。当创建一个对象时,它的实例变量赋予对应于此对象的值,而且这些值在对象的生存期间与对象保持一致。

静态域属于类,是所有对象共同拥有的。C#中严格规定实例域只能通过对象来获取,静态域只能通过类来获得。

属性

属性是一种用于访问对象或类的特性的成员。属性可以包括字符串的长度、字体的大小、窗体的标题、客户的名称等。属性是成员的自然扩展,二者都是关联类型的命名成员。访问成员和属性的语法是相同的。

与成员不同的是,属性不表示存储位置。属性有访问器,这些访问器指定在它们的值被读取或写入时需要执行的语句。因此属性提供了一种机制,它把读取和写入对象的某些特性与一些操作关联起来。它们提供灵活的机制来读取、编写或计算私有成员的值,可以像使用公共数据成员一样使用属性,它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时仍能提供方法的安全性和灵活性。

属性结合了字段和方法的多个方面。对于对象的用户,属性显示为字段,访问该属性需要完全相同的语法。对于类的实现者,属性是一个或两个代码块,表示一个get访问器和/或一个set访问器。当读取属性时,执行get访问器的代码块;当向属性分配一个新值时,执行set访问器的代码块。不具有set访问器的属性被视为只读属性。不具有get访问器的属性被视为只写属性。同时具有这两个访问器的属性是读写属性。

与成员不同,属性不作为变量来分类。因此,不能将属性作为ref参数或out参数传递。

属性具有多种用法。它们可在允许更改前验证数据;它们可透明地公开某个类上的数据,该类的数据实际上是从其他源(例如数据库)检索到的;当数据被更改时,它们可采取行动,例如,引发事件或更改其他字段的值。

属性在类模块内是通过以下方式声明的:指定字段的访问级别、属性的类型、属性的名称,然后声明get访问器和/或set访问器的代码模块。例如:

public class Date

{

private int Day = 7;

public int day

{

get

{

return Day;

}

set

{

if ((value > 0) && (value < 8))

//http://www.isstudy.com

{

Day = value;

}

}

}

}

get访问器体与方法体相似,必须返回属性类型的值。执行get访问器相当于读取字段的值。例如,当正在从get访问器返回私有变量并且启用了优化时,对get访问器方法的调用由编译器进行内联,因此不存在方法调用的系统开销。然而,由于在编译时编译器不确定在运行时实际调用哪个方法,无法内联虚拟get访问器。



添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.