1. 程式人生 > >c# 第30節 類字段與屬性

c# 第30節 類字段與屬性

esp OS thread col value || tex inf isp

本節內容:

1:字段是什麽

2:屬性判斷字段的安全

3:對屬性的解釋

1:字段是什麽

字段其實在上一節我們就使用過了:再來詳細的說他一說

amespace cw
{
    public enum gender  //public 是為了讓所有的類都可以使用
    {
        男,
        女      
    }
     public class Clerk
    {   //這就是字段了,那麽字段一般 是下劃線加變量名 _arg ;;字段是用來存放數據
        public string _name;   
       
public gender _gerder; public int _age;       
     public void show() { Console.WriteLine("{0}是{1},{2}歲。",this._name,this._gerder,this._age); } } ############調用################# class Program { static void Main(string[] args) {
//要想使用別的類要先實例化 Clerk zs = new Clerk(); zs._name = "張三"; zs._gerder = gender.男; zs._age = -24; zs.show(); Console.ReadKey(); } } } //輸出:張三是男,-24歲

2:屬性判斷字段的安全

看到字段輸出 了嗎?

張三是男,-24歲

what ? 輸出的是-24歲這不如何常理啊!可是我字段就是讓存放數據的啊,又不能對判斷說能不能放,這可怎麽辦。。。。。

這時候我們的主人公屬性就出來了:那麽屬性的作用是什麽呢?

保護字段,對字段的取值與賦值進行限定。

實例:修改上面字段BUG:

說明:
屬性往往被聲明在字段在下方,並且將字段私有化。
打個比方就是:屬性是男人,主外。而女人主內,並且還要將她私有化。

技術分享圖片

技術分享圖片

技術分享圖片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cw
{
    public enum gender  //public 是為了讓所有的類都可以使用
    {
        男,
        女      
    }
     public class Clerk
    {   //這就是字段了,那麽字段一般 是下劃線加變量名 _arg ;;字段是用來存放數據
        public string _name;   
        public gender _gerder;
        private int _age;
        public int Age
        {
            get
            {
                return _age;
            }
            set
            {
                if (value < 0 || value > 120) value = 0;
                _age = value;
            }

        }

        public void show()
        {
            Console.WriteLine("{0}是{1},{2}歲。",this._name,this._gerder,this.Age);

        }

    }
}










using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cw
{
    class Program
    {
        static void Main(string[] args)
        {
            //要想使用別的類要先實例化
            Clerk zs = new Clerk();
            zs._name = "張三";
            zs._gerder = gender.男;
            zs.Age = -24;
            zs.show();
            Console.ReadKey();
        }
    }
}
請求完整實例

3:對屬性的說明

通常我們將get和set稱為訪問器
get屬性訪問器用於返回屬性值 
set 屬性訪問器用於分配新值

屬性又分了4種:
1)既讀又寫,如這個實例;
2)只讀,只有一個get訪問器
3)只寫,只有一個set訪問器
4)自動 getset

c# 第30節 類字段與屬性