Đề bài: Cài đặt lớp CDongho kế thừa lớp CTime với các yêu cầu sau:
Sauk hi thiết kế upload Project lên Hosting môn học với tên là BT05.MSSV.7z
- Các Field:
o m_CenterX, m_CenterY Có thể tạo lớp CPoint. (tâm đồng hồ).
o m_Radius. (bán kính đồng hồ).
- Các hàm tạo (Constructors)
o Hàm tạo không đối số
o Hàm tạo với đối số là CDongho
o Hàm tạo với các đối số là tâm đồng hồ và bán kính.
o Các hàm tạo với các thông số như lớp cơ bản (CTime).
- Các property:
o CenterX
o CenterY
o Radius
- Các phương thức:
IncHour : void Tăng lên 1 giờ
DecHour : void Giảm xuống 1 giờ
IncMinute : void
DecMinute : void
IncSecond : void
DecSecond : void
IncHour(int) : void Tăng lên n giờ
DecHour(int) : void Giảm xuống n giờ
IncMinute(int) : void
DecMinute(int) : void
IncSecond(int) : void
DecSecond(int) : void
IsHour : bool Kiểm tra giờ hợp lệ 0..23
IsMinute : bool
IsSecond : bool
PreHour : CTime Trước đó 1 giờ
NextHour : CTime Giờ kế tiếp
PreMinute : CTime
NextMinute : CTime
PreSecond : CTime
NextSecond : CTime
PreHour (int): CTime Trước đó n giờ
NextHour (int): CTime n giờ kế tiếp
PreMinute (int): CTime
NextMinute (int): CTime
PreSecond (int): CTime
NextSecond (int): CTime
MinuteOrder: int Phút thứ mấy trong ngày
SecondOrder : long Giây thứ mấy trong ngày
SecondOrderInHour : int Giây thứ mấy trong giờ.
HourDistance(CTime) : int Khoảng cách giờ.
MinuteDistance(CTime):int Khoảng cách phút.
SecondDistance(CTime):long Khoảng cách giây.
Hướng dẫn thực hành:
public class CDongHo : CTime
{
private int m_CenterX;
private int m_CenterY;
private int m_Radius; // ban kinh dong ho
#region Ham tao
/// <summary>
/// Ham tao khong doi so
/// </summary>
public CDongHo()
{
m_CenterX = 0;
m_CenterY = 0;
m_Radius = 0;
}
/// <summary>
/// Ham tao voi doi so la CDongHo
/// </summary>
/// <param name="Clock">Dong ho</param>
public CDongHo(CDongHo Clock)
{
this.m_CenterX = Clock.m_CenterX;
this.m_CenterY = Clock.m_CenterY;
this.m_Radius = Clock.m_Radius;
}
/// <summary>
/// Ham tao dong ho voi gio
/// </summary>
/// <param name="Clock">Dong ho</param>
/// <param name="m_Hour">Gio</param>
/// <param name="m_Minute">Phut</param>
/// <param name="m_Second">Giay</param>
public CDongHo(CDongHo Clock,
int m_Hour, int m_Minute, int m_Second):
base(m_Hour, m_Minute, m_Second)
{
this.m_CenterX = Clock.m_CenterX;
this.m_CenterY = Clock.m_CenterY;
this.m_Radius = Clock.m_Radius;
}
/// <summary>
/// Ham tao dong ho voi gio
/// </summary>
/// <param name="Clock">Dong ho</param>
/// <param name="Time">Thoi gian</param>
public CDongHo(CDongHo Clock, CTime Time): base(Time)
{
this.m_CenterX = Clock.m_CenterX;
this.m_CenterY = Clock.m_CenterY;
this.m_Radius = Clock.m_Radius;
}
/// <summary>
/// Ham tao dong ho voi gio
/// </summary>
/// <param name="Clock">Dong ho</param>
/// <param name="Time">Thoi gian he thong</param>
public CDongHo(CDongHo Clock, System.DateTime Time): base(Time)
{
this.m_CenterX = Clock.m_CenterX;
this.m_CenterY = Clock.m_CenterY;
this.m_Radius = Clock.m_Radius;
}
/// <summary>
/// Ham tao voi doi so la tam dong ho va ban kinh
/// </summary>
/// <param name="CenterX">Toa do x</param>
/// <param name="CenterY">Toa do y</param>
/// <param name="Radius">Ban kinh</param>
public CDongHo(int CenterX, int CenterY, int Radius)
{
m_CenterX = CenterX;
m_CenterY = CenterY;
m_Radius = Radius;
}
/// <summary>
/// Ham tao dong ho voi gio
/// </summary>
/// <param name="CenterX">Toa do x</param>
/// <param name="CenterY">Toa do y</param>
/// <param name="Radius">Ban kinh</param>
/// <param name="m_Hour">Gio</param>
/// <param name="m_Minute">Phut</param>
/// <param name="m_Second">Giay</param>
public CDongHo(int CenterX, int CenterY, int Radius,
int m_Hour, int m_Minute, int m_Second):
base(m_Hour, m_Minute, m_Second)
{
m_CenterX = CenterX;
m_CenterY = CenterY;
m_Radius = Radius;
}
/// <summary>
/// Ham tao dong ho voi gio
/// </summary>
/// <param name="CenterX">Toa do x</param>
/// <param name="CenterY">Toa do y</param>
/// <param name="Radius">Ban kinh</param>
/// <param name="Time">Thoi gian</param>
public CDongHo(int CenterX, int CenterY, int Radius,
CTime Time): base(Time)
{
m_CenterX = CenterX;
m_CenterY = CenterY;
m_Radius = Radius;
}
/// <summary>
/// Ham tao dong ho voi gio
/// </summary>
/// <param name="CenterX">Toa do x</param>
/// <param name="CenterY">Toa do y</param>
/// <param name="Radius">Ban kinh</param>
/// <param name="Time">Thoi gian he thong</param>
public CDongHo(int CenterX, int CenterY, int Radius,
System.DateTime Time): base(Time)
{
m_CenterX = CenterX;
m_CenterY = CenterY;
m_Radius = Radius;
}
#endregion
#region Cac thuoc tinh
/// <summary>
/// Lay, dat toa do x cua tam dong ho
/// </summary>
public int CenterX
{
get
{
return m_CenterX;
}
set
{
m_CenterX = value;
}
}
/// <summary>
/// Lay, dat toa do y cua tam dong ho
/// </summary>
public int CenterY
{
get
{
return m_CenterY;
}
set
{
m_CenterY = value;
}
}
/// <summary>
/// Lay, dat ban kinh cua dong ho
/// </summary>
public int Radius
{
get
{
return m_Radius;
}
set
{
m_Radius = value;
}
}
#endregion
#region Cac phuong thuc
#endregion
#region Phuong thuc them
/// <summary>
/// In Dong Ho
/// </summary>
public void WriteClock()
{
Console.WriteLine("Dong ho co: tam ({0}, {1}), ban kinh {2}.",
m_CenterX, m_CenterY, m_Radius);
Console.Write(" ");
base.WriteTime();
}
#endregion
}
#endregion
}