C# 接口的简单例子

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。
//特点:干净!  抽象类和普通类的区别,只是没有对“方法”的实现。

猜你喜欢

转载自blog.csdn.net/CQL_K21/article/details/87566771
今日推荐