{
private int hour;
private int minute;
private int second;
private void SetTime(int h,int m,int s)
{
Hour = h;
Minute = m;
Second = s;
}
public Time()
{
SetTime(0,0,0);
}
public Time(int hourValue)
{
SetTime(hourValue, 0, 0);
}
public Time(int hourVlaue,int minuteValue,int secondValue)
{
SetTime(hourVlaue ,minuteValue ,secondValue );
}
public int Hour //为什么不直接用小写的hour
{
get { return hour; }
set { hour = (value >= 0 && value < 24 ? value : 0); }
}
public int Minute
{
get { return minute ; }
set { minute = (value >= 0 && value < 60? value : 0); }
}
public int Second
{
get { return second ; }
set { second = (value >= 0 && value < 60 ? value : 0); }
}
public string ToString12()
{
int hourTemp = (Hour < 12) && (Hour > 0) ? 12 : (Hour % 12);
string AMPM = (Hour < 12 ? "AM" : "PM") ;
string outPut = hourTemp + ":" + Minute + ":" + Second+AMPM;
return outPut;
}
}
class Program
{
static void Main(string[] args)
{
Time time1 = new Time();
Time time2 = new Time(22);
Time time3 = new Time(22,36,30);
Console.WriteLine("time3:");
Console.WriteLine("12小时制:"+time3.ToString12 ());
}
public int Hour //为什么不直接用小写的hour
{
get { return hour; }
set { hour = (value >= 0 && value < 24 ? value : 0); }
}
这个是属性,小写的是内部变量。他俩是2个概念,但不能重名
属性可以通过
time1.Hour=2
int a=time1.Hour
来进行赋值和获取
private习惯在前面加下划线,避免与内部变量冲突
private int _hour