字段和属性关系

 

 

字段就像名词 属性好比形容词 用来形容名词长什么样子

字段和属性描述的对象不同.
表: 建立表后,设置字段.
表单: 建立表单后,设置属性。
属性其實是方法,一般來說,字段是不設成public的,對於用戶是隱藏的,所有字段都是通過屬性對外開放的

  private System.Int32 _id;
           public System.Int32 id
           {
                 get { return _id; }
                 set { _id = value; }
           }
           private System.String _uid;
           public System.String uid
           {
                 get { return _uid; }
                 set { _uid = value; }
           }
           private System.String _reason;
           public System.String reason
           {
                 get { return _reason; }
                 set { _reason = value; }
           }

_id就是字段,id就是属性    私有字段体现类的封装性。。为了保护类里面的成员不被任意改动。

set()和get()属性实现了数据的封装和保证了数据的安全性!
封装使程序可靠且易于维护!

 

 

using System;

class Account
{
 private double balance = 0;  //字段
 public double Balance   //属性
 {
  get { return balance; }
  set { balance = value;}
 }
 /*=============================================================
  * 我们可以通过修改get、set方法达到控制存取的目的。
  * 例如:
  *
  * 1)只读属性
  * public double Balance   //属性
  * {
  *    get { return balance; }
  *    set { }
  * }
  *
  * 2)读写控制
  * public double Balance
  * {
  *    get
  *    {
  *       if(Console.ReadLine()=="1234")
  *          return balance;
  *       else
  *          return -9999999;
  *    }
  *    set { }
  * }
  * =============================================================
  */

 public void Deposit(double n)
 { this.balance += n; }

 public void WithDraw(double n)
 { this.balance -= n; }
}

class Client
{
 public static void Main()
 {
  Account a = new Account();
  a.Balance = 1000; // 可以读写属性,因为属性Balance是public型的
  //a.balance = 1000; //不可以读写字段,因为字段balance是private型的

  a.WithDraw(500);
  a.Deposit(2000);
  Console.WriteLine(a.Balance);
 }
}

转载于:https://www.cnblogs.com/xianspace/archive/2008/12/25/1362602.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值