C#USBインタフェースを実現するプログラムコード

1979 ワード


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
USB usb;
usb = new UDisk();//  U 
usb.OutputFile();// U     
usb.InputFile();// U     
usb.Dispose();//  U  
Console.WriteLine("");
usb = new MDisk();//      
usb.OutputFile();//         
usb.InputFile();//         
usb.Dispose();//      
Console.WriteLine("");
usb = new MP4();//  MP4
usb.OutputFile();// MP4    
usb.InputFile();// MP4    
usb.Dispose();//  MP4 
Console.ReadKey();
}

//USB  
public interface USB : IDisposable
{
void OutputFile();//    
void InputFile();//    
}

//U 
public class UDisk : USB
{
public UDisk()
{
Console.WriteLine("U     ...");
}
public void OutputFile()
{
Console.WriteLine(" U     ");
}
public void InputFile() 
{
Console.WriteLine(" U     ");
}
public void Dispose()
{
Console.WriteLine("U     ");
}
}

//    
public class MDisk : USB
{
public MDisk()
{
Console.WriteLine("        ...");
}
public void OutputFile()
{
Console.WriteLine("         ");
}
public void InputFile() 
{
Console.WriteLine("         ");
}
public void Dispose()
{
Console.WriteLine("        ");
}
}

//MP4
public class MP4 : USB
{
public MP4()
{
Console.WriteLine("MP4    ...");
}
public void OutputFile()
{
Console.WriteLine(" MP4    ");
}
public void InputFile() 
{
Console.WriteLine(" MP4    ");
}
public void Dispose()
{
Console.WriteLine("MP4    ");
}
}
}
}