Files
Csharp/C#核心/Lesson19_多态-接口练习/Program.cs
T

186 lines
3.6 KiB
C#
Raw Normal View History

2025-09-14 16:31:09 +08:00
using Lesson19_多态_接口练习;
namespace Lesson19_多态_接口练习
{
interface ICheck
{
public void Check();
}
class Person : ICheck
{
public void Check()
{
Console.WriteLine("派出所登记");
}
}
class Car
{
public void Check()
{
Console.WriteLine("车管所登记");
}
}
class House
{
public void Check()
{
Console.WriteLine("房管局登记");
}
}
interface IFly
{
public void Fly();
}
interface IWalk
{
public void Walk();
}
interface ISwim
{
public void Swim();
}
class Sparrow : IFly, IWalk
{
public void Fly()
{
Console.WriteLine("麻雀飞");
}
public void Walk()
{
Console.WriteLine("麻雀走");
}
}
class Ostrich : IWalk
{
public void Walk()
{
Console.WriteLine("鸵鸟走");
}
}
class Penguin : IWalk, ISwim
{
public void Walk()
{
Console.WriteLine("企鹅走");
}
public void Swim()
{
Console.WriteLine("企鹅游泳");
}
}
class Parrot : IFly, IWalk
{
public void Fly()
{
Console.WriteLine("鹦鹉飞");
}
public void Walk()
{
Console.WriteLine("走");
}
}
class Helicopter : IFly
{
public void Fly()
{
Console.WriteLine("直升机飞");
}
}
class Swan : IFly, IWalk, ISwim
{
public void Fly()
{
Console.WriteLine("天鹅飞");
}
public void Walk()
{
Console.WriteLine("天鹅走");
}
public void Swim()
{
Console.WriteLine("天鹅游泳");
}
}
interface IUSB
{
void ReadData();
}
class StorageDevice : IUSB
{
public string name;
public StorageDevice(string name)
{
this.name = name;
}
public void ReadData()
{
Console.WriteLine("USB{0}传输数据",name);
}
}
class MP3 : IUSB
{
public void ReadData()
{
Console.WriteLine("MP3传输数据");
}
}
class Computer
{
public IUSB usb1;
}
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Person p1= new Person();
p1.Check();
Car c1 = new Car();
c1.Check();
House h1 = new House();
h1.Check();
Sparrow s1 = new Sparrow();
s1.Walk();
s1.Fly();
Ostrich o1 = new Ostrich();
o1.Walk();
Penguin p2 = new Penguin();
p2.Swim();
p2.Walk();
Parrot p3 = new Parrot();
p3.Walk();
p3.Fly();
Helicopter h2 = new Helicopter();
h2.Fly();
Swan s3 = new Swan();
s3.Walk();
s3.Fly();
s3.Swim();
StorageDevice hd = new StorageDevice("移动硬盘");
StorageDevice ud = new StorageDevice("U盘");
MP3 mp3 = new MP3();
Computer computer = new Computer();
computer.usb1 = hd;
computer.usb1.ReadData();
computer.usb1 = ud;
computer.usb1.ReadData();
computer.usb1 = mp3;
computer.usb1.ReadData();
}
}
}