嵌入式开发从基础到提高

源代码在线查看: program.cs

软件大小: 352 K
上传用户: liangshuo800
关键词: 嵌入式开发
下载地址: 免注册下载 普通下载 VIP

相关代码

				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);
				        }
				    }
				}
							

相关资源