博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
08移动设备存储
阅读量:6225 次
发布时间:2019-06-21

本文共 2235 字,大约阅读时间需要 7 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _08移动设备存储{    class Program    {        static void Main(string[] args)        {            MobileDisk md = new MobileDisk();            Mp3 mp3 = new Mp3();            UDisk ud = new UDisk();            Computer cpu = new Computer();            //传入移动硬盘参数,即执行移动硬盘子类的方法            //因为移动存储父类是抽象类,不能实例化,只能新建一个cpu普通类来实现读写。并将抽象父类传入cpu操作方法中            //cpu.CpuRead(md);            //cpu.CpuWrite(md);            //第二种方法,定义属性            cpu.ms = mp3;//将MP3插入到电脑中            cpu.CpuRead();            cpu.CpuWrite();            mp3.PlayMusic();                        Console.ReadKey();        }    }    abstract class MobileStorage    {        public abstract void Read();        public abstract void Write();    }    class MobileDisk : MobileStorage    {        public override void Read()        {            Console.WriteLine("移动硬盘在读取");        }        public override void Write()        {            Console.WriteLine("移动硬盘在写入");        }    }    class UDisk : MobileStorage    {        public override void Read()        {            Console.WriteLine("U盘在读取");        }        public override void Write()        {            Console.WriteLine("U盘在写入");        }    }    class Mp3 : MobileStorage    {        public override void Read()        {            Console.WriteLine("mp3在读取");        }        public override void Write()        {            Console.WriteLine("mp3在写入");        }        public void PlayMusic()        {            Console.WriteLine("MP3在播放音乐");        }    }    //电脑去识别各种设备,并执行读写方法    //多态,就是把所有子类对象当作父类对象来看    class Computer    {        //public void CpuRead(MobileStorage ms)        //{        //    //执行的是父类的方法,但子类对父类方法进行了重写,真正执行的是子类方法        //    ms.Read();        //}        //public void CpuWrite(MobileStorage ms)        //{        //    ms.Write();        //}        //第二种方法,定义类属性,本质上等于传参        //自动属性        public MobileStorage ms        {            get;set;        }        public void CpuRead()        {            this.ms.Read();        }        public void CpuWrite()        {            this.ms.Write();        }    }}

 

转载于:https://www.cnblogs.com/andu/p/6137038.html

你可能感兴趣的文章
spring配置多数据源问题
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
简明Linux命令行笔记:tail
查看>>
PMP考试的过与只是
查看>>
java 监控 收集资料3(收集中)
查看>>
实例演示如何使用AgileEAS.NET SOA平台工作流进行业务流程自定义
查看>>
Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka
查看>>
从入门到求职,成为数据科学家的终极指南
查看>>
聊聊BOM的那些事
查看>>
微软为无服务器架构引入新API管理消费层
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
getRealPath()和getContextPath()的区别
查看>>
如何为Linux安装Go语言
查看>>
Hadoop MapReduce编程 API入门系列之wordcount版本2(六)
查看>>
一个页面标题和过滤输出的解决方案(上)
查看>>
Zend Studio 9 汉化教程
查看>>
C#关于委托和事件(基础)
查看>>
automake (>=1.14) error: but option ‘subdir-objects’ is disabled
查看>>
CentOS6.7下安装MySQL
查看>>
Go Main测试实现原理剖析
查看>>