?? program.cs
字號:
?using System;
using System.Collections.Generic;
using System.Text;
namespace 虛方法實現時間顯示
{
/************************
* 程序描述:使用虛方法顯示時間。小時、分鐘和秒都由不同的類來封裝,并有一個繼承關系,
* 分鐘和秒各自把相應的參數傳送給自己的父類。在調用相應的方法ViewAllTime()
* 進行時間顯示時,并不知道到會進行怎樣的顯示。這就是多態,運行時才可以確定
* 到底調用哪個方法。
* 創 建 人:ncbcy@eiTarget
* 版 本 號:1.0.0
* 修改記錄:0
***********************/
class Program
{
static void Main(string[] args)
{
Hour h = new Hour(23);
Minute m = new Minute(23,55);
Second s = new Second(23, 55, 11);
ViewAllTime(h);
ViewAllTime(m);
ViewAllTime(s);
Console.ReadLine();
}
static void ViewAllTime(Hour ViewAllTimeRef)
{
ViewAllTimeRef.ViewTime();
}
}
class Hour
{
protected byte byteHour;
public Hour(byte byteHour)
{
this.byteHour = byteHour;
}
public virtual void ViewTime()
{
Console.WriteLine("使用類小時Hore實例對象的方法進行顯示小時:" + byteHour);
}
}
class Minute : Hour
{
protected byte byteMinute;
public Minute(byte byteHour, byte byteMinute): base(byteHour)
{
this.byteMinute = byteMinute;
}
public override void ViewTime()
{
Console.WriteLine("使用類小時Hour的派生類分鐘Minute的對象的方法進行顯示小時和分鐘:" + byteHour + ":" + byteMinute);
}
}
class Second : Minute
{
protected byte byteSecond;
public Second(byte byteHour, byte byteMinute, byte byteSecond): base(byteHour, byteMinute)
{
this.byteSecond = byteSecond;
}
public override void ViewTime()
{
Console.WriteLine("使用類分鐘Minute的派生類秒Second的對象的方法進行顯示小時、分鐘和秒: " + byteHour + ":" + byteMinute + ":" + byteSecond);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -