C#的接口

什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。

  声明接口

声明接口在语法上和声明抽象类完全相同,

注意:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
        public abstract class Person
        {
            interface ImidClass
            {
                string name
                {
                    set;
                    get;
                }
                void Shout(string name);
            }
            interface IbigClass
            {
                string name { set; get; }
                void Shout(string name);
                void run();
            }
            public class Grade : ImidClass, IbigClass
            {
                string ImidClass.name
                {
                    get;
                    set;
                }
                void ImidClass.Shout(string name)
                {
                    Console.WriteLine("小班{0}喊叫", name);
                }
                string IbigClass.name
                {
                    get;
                    set;
                }
                void IbigClass.Shout(string a)
                {
                    Console.WriteLine("大班的{0}在大喊", a);
                }
                void IbigClass.run()
                {
                    Console.WriteLine("大班的在跑步");
                }
            }
            class Program
            {
                static void Main(string[] args)
                {
                    ImidClass mid = new Grade();
                    mid.name = "小王";
                    mid.Shout(mid.name);
                    Console.Read();
                }
            }
        }
    }
}
原文地址:https://www.cnblogs.com/zhayunjia/p/5760817.html