08移动设备存储

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();
        }
    }
}
时间: 2024-10-06 16:05:39

08移动设备存储的相关文章

oracle使用裸设备存储数据

正常情况下 往表中写数据 首先经过库,库再告诉给操作系统,操作系统再找磁盘,经过了3步! 表---->库---->操作系统---->磁盘 裸设备没有文件系统,在系统层根本管不了磁盘了,这就是裸设备. 裸设备直接给库用,以后我存数据.提数据,库和磁盘直接交互,不通过系统层,少了一层巡址,可以提高速度. 我们ext3默认块4K,数据库中默认块8块,存数据的话肯定是往磁盘中存,如果系统层肯定按4K存,需要转换一下,相对来说比较麻烦. 裸设备的好处,跳过操作系统层直接找磁盘,系统层已经不认磁盘了

萌妹子都能看懂的技术贴丨分布式块设备存储究竟是个啥

heartheat+drbd高可用存储

DRBD数据同步 By:大官人 一.DRBD简介 DRBD的全称为:DistributedReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群.其实现方式是通过网络来镜像整个设备.你可以把它看作是一种网络RAID.它允许用户在远程机器上建立一个本地块设备的实时镜像. 二.DRBD是如何工作的呢? (DRBDPrimary)负责接收数据,把数据写到本地磁盘并发送给另一台主机(DRBD Secondary).另一个主机

设备、链接、find

#############1.设备访问 1.设备的识别 /dev/sda                 ###系统中的第一块串口硬盘 /dev/hda                ###系统中第一块并口硬盘 /dev/hdb              ###系统中第二块并口硬盘 /dev/cdrom            ###系统光驱 /dev/mapper/xxx        ###虚拟设备 /dev/sdb1         一般会为U盘,如果有sdb存在,则为sdc1,一般挂载在/

设备简单介绍

#################################################################### #############################设备简单介绍############################# #################################################################### 1.设备的识别 /dev/sda ###系统中的第一块串口硬盘 /dev/hda ###系统中

linux 字符设备驱动开发详解

一.设备的分类及特点 1.字符设备 字符设备是面向数据流的设备,没有请求缓冲区,对设备的存取只能按顺序按字节的存取而不能随机访问.    Linux下的大多设备都是字符设备.应用程序是通过字符设备节点来访问字符设备的.通常至少需要实现 open, close, read, 和 write 等系统调用.    设备节点一般都由mknod命令都创建在/dev目录下,包含了设备的类型.主/次设备号以及设备的访问权限控制等,如:crw-rw----  1 root  root 4, 64 Feb 18

本地存储-webStorage

webStorage 提供了一种方式让网站能够把信息存储到你本地的计算机上,并在以后需要的时候进行获取.这个概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候cookie都会被发送过去.而webStorage是存储在你的计算机上,网站在页面加载完毕后可以通过Javascript来获取这些数据. 分为 localStorage .sessionStorage.globalStorage.Web Sql Database Stora

14.linux中设备的访问

一 设备访问1.设备识别/dev/xdxn       ##硬盘设备/dev/sda1/dev/cdrom      ##光驱/dev/mapper/*   ##虚拟设备 2.设备的使用##<设备的发现>##fdisk -l                ##查看真实存在的设备cat /proc/partitions    ##系统能够识别的设备blkid                   ##系统能够挂载使用的设备iddf                      ##查看设备被系统使用的

linux学习笔记——安装虚拟机、设备挂载、软硬链接

################安装虚拟机########################### 1.命令行安装虚拟机[[email protected] ~]# virt-install \        ###安装虚拟机> --name westos \                ###安装虚拟机的名字> --ram 1024 \                    ###内存> --location ftp://172.25.254.250/pub/rhel6.5 \