zoukankan      html  css  js  c++  java
  • 面向对象之接口

    一个接口定义了一个契约。

    接口可以包容方法、C#属性、事件、以及索引器。

    在一个接口声明中,我们可以声明零个或者多个成员。

    所有接口成员的默认访问类型都是public。

    不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明

    与一个非抽象类类似,一个抽象类必须提供接口中所有成员的实现,只要这些成员在这个类的基类中出现过。

    接口可以包含事件,为什么不可以包含委托:

    委托也是类型,delegate关键字引入的是一个新的类型,所以一个C#接口无法包容一个委托并把它当作成员;而event关键字引入的是一个新的成员,因此事件可以归入接口.

    创建一个接口:

     public interface Person
        {
            void show();
        }
        public class Student:Person
        {
            public void show()
            {
                Console.WriteLine("我是学生");
            }
        }
        public class Teacher : Person
        {
            public void show()
            {
                Console.WriteLine("我是教师");
            }
        }

    创建另一个类:

    public void mShow(Person person)
            {
                person.show();
            }

    static void Main(string[] args)
            {
                Manager manager = new Manager();
                manager.mShow(new Teacher());
            }

  • 相关阅读:
    Hopcroft-Carp 算法模板 自用
    (转)二分图匹配匈牙利算法与KM算法
    LightOJ
    最短路类型 (至今做过的)
    POJ
    POJ
    差分约束
    传递闭包(例题POJ3660)
    arrow,
    分辨率,
  • 原文地址:https://www.cnblogs.com/scsuns520/p/1632731.html
Copyright © 2011-2022 走看看