using System;
namespace Test
{
public interface ISwitch
{
// public void On();//接口不能有修饰符
void On();
void Off();
int myint();
// public int a;//接口不能包含方法(属性、索引)之外的成员
}
public class Light : ISwitch
{
private string id;
public string Id { get { return id; } }
public Light(string _id) { this.id = _id; }
public void On()
{
Console.WriteLine("电灯开了");
}
public void Off()
{
Console.WriteLine("电灯关了");
}
public int myint()
{
return 0;
}
}
public class Tv : ISwitch
{
private string type;
public string Type { get { return type; } }
public Tv(string _type) { this.type = _type; }
public void On()
{
Console.WriteLine("电视开了");
}
public void Off()
{
Console.WriteLine("电视关了");
}
public int myint()
{
return 0;
}
}
class Program
{
static void Main(string[] args)
{
ISwitch control = new Light("CL0001");
control.On();
control.Off();
control = new Tv("TV0002");
control.On();
control.Off();
Console.ReadLine();
}
}
}
//接口是比抽象类更抽象的“特殊类”,只能声明方法、属性和索引器,不能有其他任何成员。
//接口成员不能有任何修饰符,虽然默认为public。
//特点:干净! 抽象类和普通类的区别,只是没有对“方法”的实现。