C#接口是常量和抽象方法的集合;
接口不能实例化;
所有继承了接口的类必须实现接口中的方法;
C# code:
interface Ichat
{
//所有继承了接口中的类必须实现接口中的方法;
//使用接口,当用户需要扩充功能的时候,只需在外部做些许修改就能实现,用不着修改我们封装的组件!
void chat();
}
class CDaychat:Ichat
{
public void chat()
{
Console.WriteLine("白天聊天人士!\n");
}
}
class CNightchat:Ichat
{
public void chat()
{
Console.WriteLine("夜间聊天人士!\n");
}
}
//set a platform of chat
//封装成一个组件--聊天平台,当新增加有中午或者早上等等成员时,无需动组件!
class Clschat
{
public void clschat(Ichat chat)
{
chat.chat();
}
}
static void Main(string[] args)
{
//当有新的成员进来时,比如新增间一个中午聊天的人士,我们只需先增加一个类CNoonchat.cs
//然后在main() 函数里增加对它的实例化,无需修改已经封装的组件;
Clschat Chat = new Clschat(); Ichat chat;
chat = new CDaychat(); Chat.clschat(chat);
chat = new CNightchat(); Chat.clschat(chat);
Console.ReadKey();
}