麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#中的屬性

2023-05-02 19:48:25
字體:
來源:轉載
供稿:網友

類在設計時,其字段成員一般被聲明為私有的,如果想讀取或設置其值,需要提供這樣的方法,而在C#中,使用屬性更充分體現了對象的封裝性,讓用戶不直接操作類的相關數據,而是通過其提供的訪問器進行訪問。

屬性可以是類、結構和接口的成員。其定義的形式為:

訪問修飾符 數據類型 標識符
{
訪問器聲明;
}

訪問修飾符可以是new,static,virtual,absctract,override和public,protected,private,internal的合法組合。

訪問器有get訪問器和set訪問器兩種,其聲明的格式如下:

get
{
return 要訪問的成員;
}

set
{
要設置值的成員 = value;
}

在使用get訪問器時要注意,其使用return要返回的值必須與屬性聲明的數據類型相同,或能夠隱式地轉換為屬性聲明的數據類型。

set訪問器的值是通過隱含的參數value帶進來的,其主據類型也必須與屬性聲明的數據類型相同或能夠進行隱式轉換。

在屬性定義中,get訪問器和set訪問器的規則如下:

(1)同時具有get訪問器和set訪問器的屬性,其值是可以讀取也可以進行修改的;

(2)只有get訪問器的屬性是只讀屬性,即這樣的屬性值僅允許讀取,而不能進行修改;

(3)只有set訪問器的屬性為只寫屬性,即該屬性的值僅能修改,而不能讀取。

下面舉一個例子,分別說明以上三種情況:

using System;

 

class Weather

{

  private float t; //溫度

  private int w; //風級

  private string sun; //天氣情況

  /// <summary>

  /// 溫度屬性

  /// </summary>

  public float Temperature

  {

   get

   {

     return t;

   }

   set

   {

     if(value!=t)

       t = value;

   }

 }

  /// <summary>

  /// 描述風的等級的屬性

  /// </summary>

  public int Windy

  {

    set

    {

      w = value;

    }

  }

  /// <summary>

  /// 描述天氣情況的屬性

  /// </summary>

  public string Sun

  {

    get

    {

      return sun;

   }

  }

  /// <summary>

  /// 構造器

  /// </summary>

  public Weather()

  {

    this.sun = "天氣晴朗";

  }

  /// <summary>

  /// 帶參數的構造器

  /// </summary>

  /// <param name="s">描述天氣情況的字符串</param>

  public Weather(string s)

  {

    this.sun = s;

  }

  /// <summary>

  /// 輸出天氣信息的方法

  /// </summary>

  public void PrintInfo()

  {

     Console.WriteLine("今天:{0},風級:{1},氣溫:{2}",sun,w,t);

   }

 }

 //定義主類進行測試

 class Test

{

  static void Main()

  {

    Weather wt = new Weather();

    // wt.Sun = "天氣晴朗";//此語句將引起錯誤1

    wt.Temperature = 23.4f;

    wt.Windy = 4;

    Console.WriteLine("氣溫:{0}",wt.Temperature); //輸出溫度信息,即可修改亦可讀取

   // Console.WriteLine("風級:{0}",wt.Windy ); //雖然可以修改,但不可讀取,否則引起錯誤2

   Console.WriteLine("天氣:{0}",wt.Sun); //雖然不能修改,但可以讀

   wt.PrintInfo(); //使用類提供的方法,可以輸出(讀?。┤康男畔?/span>

  }

}

錯誤1:無法對屬性或索引器“Weather.Sun”賦值 -- 它是只讀的

錯誤2:屬性或索引器“Weather.Windy”無法用于此上下文中,因為它缺少 get 訪問器

運行結果如下:

C#中屬性的使用方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 97超碰资源站 | 欧美视频在线一区二区三区 | 国产中文99视频在线观看 | 99麻豆久久久国产精品免费 | 国产1区2区3区中文字幕 | 亚洲精品午夜电影 | 国产91丝袜在线播放0 | 一级国产免费 | 久久99精品久久久久久秒播蜜臀 | 国产一区二区三区欧美 | 日本精品久久久久 | 国产精品欧美久久久久一区二区 | 亚洲午夜精品视频 | 欧日韩 | 国产激爽大片在线播放 | 久久精品久久精品国产大片 | 免费啪视频在线观看 | 精品国内视频 | 成人三级电影网址 | av观看国产 | 中国美女一级黄色片 | 久久精品国产99国产精品澳门 | 国产瑟瑟视频 | 天天天干夜夜夜操 | 视频一区二区国产 | 一级在线观看 | 国产精品久久久久久久亚洲按摩 | 看毛片免费 | 久久久一区二区三区精品 | 久久精品亚洲国产奇米99 | 99视频在线观看视频 | 国产日韩精品欧美一区视频 | 国产一区二区三区影视 | 在线成人免费网站 | v11av在线视频成人 | 一级性生活视频 | 日韩视频一区二区 | 免费a级网站 | 美女被免费网站在线软件 | 一级毛片播放 | 国产一区二区三区四 |