zoukankan      html  css  js  c++  java
  • 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();
                    }
                }
            }
        }
    }
  • 相关阅读:
    CSS的未来:游戏的变革Flexbox
    2013年第8周一JAVA对象序列化及TODO标签等
    大年初七回杭州
    2013年2月20日星期三
    2013年周六加班杂记
    大家初八但杭州收拾准备开始工作
    大家初六去香山
    2013年第8周四又是低效的一天
    2013年第8周二Delphi中Union结构
    2013年第8周日元宵节
  • 原文地址:https://www.cnblogs.com/zhayunjia/p/5760817.html
Copyright © 2011-2022 走看看