首页 > 代码库 > 面向对象多态案例
面向对象多态案例
案例:有一台有品牌的电脑他有2个功能开机和关机,它可以插2个USB接口(实现 读,写)。 一个是U盘,一个是硬盘
类图:
class Computer { private string brand; public IUsb IUsb_1; public IUsb IUsb_2; public string Brand { get { return brand; } set { brand = value; } } public Computer(string brand) { this.brand = brand; } public void Start() { Console.WriteLine("{0}品牌的电脑开机中。。。。",Brand); } public void End() { Console.WriteLine("{0}品牌的电脑关机中。。。。", Brand); } }
interface IUsb { void Read(); void Write(string content); }
class UBase:Computer,IUsb { private string content; public string Content { get { return content; } set { content = value; } } public UBase(string brand) : base(brand) { } public void Read() { Console.WriteLine("{0}读取数据{1}",Brand,content); } public void Write(string content) { this.content += content ; Console.WriteLine("{0}写入数据{1}",Brand,content); } }
class UzileiA:UBase { private int content;//存储空间 public UzileiA(string content) : base(content) { } }
class HardB:UBase { private int content;//存储空间 public HardB(string content) : base(content) { } }
class Program { static void Main(string[] args) { UBase uBase1 = new UzileiA("金士顿32G"); //里氏替换 子类可以赋值给父类 //有一台电脑他有2个接口可以插USB 和 硬盘 Computer cp = new Computer("华硕"); cp.Start(); cp.IUsb_1 = uBase1; cp.IUsb_1.Write("你好。"); cp.IUsb_1.Read(); cp.End(); Console.ReadKey(); } }
面向对象多态案例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。