4. 屬性

1. 定義:

屬性結合了字段和方法的多個方面。 對于對象的用戶,屬性顯示為字段,訪問該屬性需要相同的語法。 對于類的實現(xiàn)者,屬性是一個或兩個代碼塊,表示一個 get 訪問器和/或一個 set 訪問器。
當讀取屬性時,執(zhí)行 get 訪問器的代碼塊;當向屬性分配一個新值時,執(zhí)行 set 訪問器的代碼塊。
不具有set訪問器的屬性被視為只讀屬性。
不具有 get訪問器的屬性被視為只寫屬性。 同時具有這兩個訪問器的屬性是讀寫屬性。

2. 用途

屬性具有多種用法:

  • 它們可在允許更改前驗證數據;
  • 當數據被更改時,它們可采取行動,例如引發(fā)事件或更改其他字段的值。

3. 語法

 public class Date
    {
        private int month; 

        public int Month
        {
            get
            {
                return month;
            }
            set
            {
                if ((value > 0) && (value < 13))
                {
                    month = value;  //value是外界賦的值
                }
            }
        }
    }

4. 注意點

屬性可以只寫get塊或set塊。
如果只寫get不寫set,那么就不能再外面賦值了。 如果只寫set不寫get,那么就不能在外界讀取了。

可以給set或者get設置訪問修飾符,來限制調用范圍。

5. 屬性的簡寫方式

public class Date
    {
        public int Month{get;set;} // 編譯器會自動加上一個month的字段。
    }

6 、 練習題

用面向對象的思維去完成下面的題

游戲中,有玩家,每個玩家有昵稱,ID,游戲職業(yè)(法師、戰(zhàn)士、射手。。。),血量,物攻,法傷,物抗,法抗,。

游戲中,還有裝備,裝備有物理防御、法術防御、物理攻擊力,法術攻擊力,血量。 玩家擁有裝備后,可以提升自己的能力。


游戲中,還有多個怪物,怪物有血量,物攻,法傷,物抗,法抗,Boss的法傷,物攻和物抗,法抗,血量比較高,小兵的比較低。

玩家打怪物,怪物打玩家。 

血量減少的值等于被攻擊的值減去自身的抗性。
如: 玩家1的物理攻擊是800,法術攻擊是300,怪物的物理防御是600,法術防御是500, 玩家打怪物一下,怪物的血量減少200.

玩家打怪物兩下,怪物打玩家一下,可以多個玩家打一個怪物。

無論是玩家還是怪物,當血量為0的時候則 死亡。

要求游戲職業(yè)定義為枚舉、還要用到構造函數。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 國家電網公司企業(yè)標準(Q/GDW)- 面向對象的用電信息數據交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,423評論 6 13
  • 屬性結合了 字段 和 方法 的讀個方面。 屬性是一個或兩個代碼塊,get訪問器和set訪問器。 當讀取屬性時,執(zhí)行...
    辣個男人OvO閱讀 244評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,706評論 18 399
  • 一個人呆的久了 后山就荒了 打開門 和隔壁大爺聊聊人生 “去旅游吧,別打工了” “干了一輩子,習慣了” 在老奶奶的...
    張長長啊閱讀 163評論 0 2

友情鏈接更多精彩內容