存取器方法

前段时间,由于工作的原因,没有时间学习C#.
现在好了,工作不太忙了.可以继续学习了,哈哈!
不过以前学习都忘记的差不多了,现在还得重新学起了.
存取器方法:就是get和set语句组成的方法.他们可以在私有成员中提取值和赋值.这个方法让用户可以对私有变量进行操作.
在C#中的存取器方法.比java中提取值和赋值方便多了.
设计类时的—个好的目标总是不仅仅隐藏类成员的实现,而且禁止任何对类字段成员的直接访问。
通过“存取器方法”——其职责就是获取和设置字段的值,您就可以确保字段可以被正确处理,也就是说,根据您特定的问题域规则而执行必要的操作处理。
比如,假设您有—个地址类Address包含一个邮政编码字段ZipCode和一个城市字段City,当客户修改字段Address.ZipCode时,您希望通过一个数据库来验证邮政编码是否有效,并且根据邮政编码自动设置Address.City字段的值。如果客户可以直接访问一个公共的Address.ZipCode成员的话,上面这两个任务就有点难了。因为直接更改成员变量并不需要方法。因此,除了可以直接访问Address.ZipCode字段之外,更好的解决方案是将Address.ZipCode和Address.Cipy这两个字段定义为“protected”,然后提供存取器方法来获取和设置Address.ZipCode字段的值。这样,您就可以附加一些代码来执行需要的操作了。 这个邮政编码的程序在C#中的示例代码如下。注意真正的ZipCode字段被定义为“protected”,因此客户不能直接访问它。而存取器方法GetZipCode和SetZipCode被定义为“public”:
class Address {
protected string ZipCode;
protected string City;
public string GetZipCode()
{ return ZipCode; }
 public string SetZipCode(string zipcode) {
//Validate value against some datasource ZipCode = zipcode;
//Update city based on validated zipCode } }
 客户可以这样来访问 ZipCode 的值。
class TestApp {
[STAThread] static void Main(string[] args)
{ Address addr = new Address();
addr.SetZipCode("710041");
string zip = addr.GetZipCode();
属性主要用于描述和维护类对象的状态。从客户端看,对属性的访问就好像直接访问public字段成员一样,但是,在类内部是通过类方法访问的,从而实现了优秀的面向对象数据隐藏。类属性的建立有其自身的一套语法规则。通常,创建一个属性包含两个步骤:
 声明一个私有字段来存储属性值。
 编写一个属性声明,为属性值提供访问接口。
 1、属性声明格式 属性的建立要使用属性声明,
语法: [访问修饰符] 类型名 属性名
{ get
{
return 私有字段;
}
set
{
 私有字段 = value;
 }
}
例如:
private string p_name;
public string name
{
get
{
return p_name;
 }
set
{
p_ame = value
 }
 }

转载于:https://www.cnblogs.com/sxjrcool/archive/2007/06/21/791385.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值