每天都在思考,
如果事情自己會做好就好了,
程式自己會自動檢查就好了,
今天C#也有自動檢查變數是否符合要求的功能,
我們有請屬性!
private int age;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsharpDemo
{
class Program
{
static void Main(string[] args)
{
Dog dog = new Dog();
//設定為三歲
dog.SetAge(3);
Console.WriteLine(dog.GetAge());
//設定為-1歲
dog.SetAge(-1);
Console.WriteLine(dog.GetAge());
Console.ReadKey();
}
}
//狗的類別
class Dog
{
//名稱
public string name;
//年齡
private int age;
//設定年齡
public void SetAge(int ageValue)
{
//如果年齡為負數就改成0
if (ageValue <= 0)
{
age = 0;
}
else
{
age = ageValue;
}
}
//回傳設定後的年齡
public int GetAge()
{
return age;
}
}
}
結果:
3
0
※訪問器雖然解決了問題,但大家還是習慣把年齡作為變數使用。
屬性就是這而生的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsharpDemo
{
class Program
{
static void Main(string[] args)
{
Duck duck = new Duck();
//設定為三歲
duck.duckAge = 3;
Console.WriteLine(duck.duckAge);
//設定為-1歲
duck.duckAge = -1;
Console.WriteLine(duck.duckAge);
Console.ReadKey();
}
}
/// <summary>
/// Day23-02
/// 鴨的類別
/// </summary>
class Duck
{
//名稱
public string name;
//年齡
private int age;
//屬性
public int duckAge
{
get//回傳值
{
//回傳設定後的值
return age;
}
set //設定值
{
if (value <= 0)
{
age = 0;
}
else
{
age = value;
}
}
}
}
}
結果:
3
0