2.C#物件導向基礎屬性

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   2014   cti   ar   

屬性:

1.一般屬性開頭字母大寫,欄位開頭字母小寫。

2.通過public來賦值的方法無法判斷賦值是否非法!

3.無論賦值如何,取值如果就是不採用賦值的結果,那麼無論賦值什麼都不管用。

4.經典錯誤之死迴圈。

例一:

通過public來賦值的方法無法判斷賦值是否非法!

驗證代碼如下:

using System;using System.Collections.Generic;using System.Text;
namespace stduy2{ class Program { static void Main(string[] args) { Person p = new Person(); p.Age = 22;//賦值 Console.WriteLine("星雲的年齡:Age={0}",p.Age);//取值結果22 p.Age = -100; Console.WriteLine("所以星雲修改後的年齡:Age={0}\n", p.Age);//取值結果22 p.Age1 = -100;//這種賦值方法,無法判斷合法值 Console.WriteLine("通過public來賦值的方法無法判斷賦值是否非法!\n所以星雲新的年齡為錯誤值:Age1={0},", p.Age1);//取值結果-100 Console.ReadKey(); } } class Person { private int age; public int Age1; public int Age { set //賦值 { if (value< 0) { Console.WriteLine("\n警告:年齡修改失敗,年齡將保持不變,失敗原因:年齡不能為負數!"); } else this.age = value; } get //取值 { return this.age; } } }}

運行:

例二:

無論賦值如何,取值如果就是不採用賦值的結果,那麼無論賦值什麼都不管用。

代碼驗證如下:

using System;using System.Collections.Generic;using System.Text;namespace stduy2{    class Program    {        static void Main(string[] args)        {            Person p = new Person();            p.Age = 22;//賦值            Console.WriteLine("星雲的年齡:Age={0}",p.Age);//取值傳回值520            p.Age = -100;            Console.WriteLine("所以星雲修改後的年齡:Age={0}\n", p.Age);//取值,傳回值為520            p.Age = 22;            p.Age = p.Age + 1;            Console.WriteLine("\n計算後星雲年齡為p.Age={0}",p.Age);//取值,所以傳回值是520            Console.ReadKey();        }    }    class Person     {        private int age;        public int Age1;        public int Age         {            set //賦值            {                if (value< 0)                {                    Console.WriteLine("\n警告:年齡修改失敗,年齡將保持不變,失敗原因:年齡不能為負數!");                }                else                    this.age = value;            }            get //取值            {                return 520;                           }        }    }}

程式運行:

例三:經典錯誤之死迴圈:

代碼如下:

using System;using System.Collections.Generic;using System.Text;namespace stduy2{    class Program    {        static void Main(string[] args)        {            Person p = new Person();            p.Age = 22;//賦值            Console.WriteLine("星雲的年齡:Age={0}",p.Age);//取值死迴圈            Console.ReadKey();        }    }    class Person     {        private int age;        public int Age         {            set //賦值            {                    this.Age = value;            }            get //取值            {                return this.Age;                            }        }    }}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.