c#多态练习(不同移动设备插入)

题目:插入不同设备mp3\mp4\移动硬盘,电脑自动识别读写。视频位置https://www.bilibili.com/video/BV1FJ411W7e5?p=143

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CsvCook;
using System.Collections;
using System.Diagnostics;
using System.IO;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            //两种写法,第一种是字段赋值,耦合度最低,推荐
            Computer cm = new Computer();
             Mp3 mp3 = new Mp3();
            cm.Md =mp3; //将子类装入父类
            cm.CpuReader();
            //第二种函数传入
            cm.CpuWriter(new Mp3());//参数是父类,但是可以传子类,里式转换
            Console.ReadKey();
        }
    }

    public abstract class MobileDevice //抽象类
    {
        public abstract void Reader();
        public abstract void Writer();

    }

    public class Mp3 : MobileDevice
    {
        public override void Reader()
        {
            Console.WriteLine("mp3的写");
        }
        public override void Writer()
        {
            Console.WriteLine("mp3的读");
        }
        public void PlayMusic()
        {
            Console.WriteLine("mp3正在播放音乐");
        }
    }
    public class Udisk : MobileDevice
    {
        public override void Reader()
        {
            Console.WriteLine("udisk的写");
        }
        public override void Writer()
        {
            Console.WriteLine("udisk的读");
        }
    }
    public class MobileDisk : MobileDevice
    {
        public override void Reader()
        {
            Console.WriteLine("移动硬盘的写");
        }
        public override void Writer()
        {
            Console.WriteLine("移动硬盘的读");
        }
    }
    public class Computer
    {
        //获得父类,1.可字段直接设置/构造函数赋值
        private MobileDevice _md;
        public MobileDevice Md { get => _md; set => _md = value; }
        
        public void CpuReader()
        {
            Md.Reader();
        }
        //2.函数传入父类
        public void CpuWriter( MobileDevice md)
        {
            Md.Writer();
        }
    }
}

  

 

posted @ 2021-03-16 20:12  遥月  阅读(127)  评论(0)    收藏  举报