zoukankan      html  css  js  c++  java
  • C#接口

      接口(C# 参考)
      接口只包含只有方法,属性,索引器(有参属性),事件四种成员。方法的实现是在实现接口的类中完成的,如下面的示例所示:
      interface ISampleInterface
      {
      void SampleMethod();
      }
      class ImplementationClass : ISampleInterface
      {
      // Explicit interface member implementation:
      void ISampleInterface.SampleMethod()
      {
      // Method implementation.
      }
      static void Main()
      {
      // Declare an interface instance.
      ISampleInterface obj = new ImplementationClass();
      // Call the member.
      obj.SampleMethod();
      }
      }
      ---------------------------------------------------------------------------------------------------------
      备注:
      接口可以是命名空间或类的成员,并且可以包含下列成员的签名:
      ·方法
      ·属性
      ·索引器
      ·事件

      一个接口可从一个或多个基接口继承。
      当基类型列表包含基类和接口时,基类必须是列表中的第一项。
      实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。
      ---------------------------------------------------------------------------------------------------------
      示例:
      下面的示例演示了接口实现。在此例中,接口 IPoint 包含属性声明,后者负责设置和获取字段的值。Point 类包含属性实现。
      // keyword_interface_2.cs
      // Interface implementation
      using System;
      interface IPoint
      {
      // Property signatures:
      int x
      {
      get;
      set;
      }
      int y
      {
      get;
      set;
      }
      }
      class Point : IPoint
      {
      // Fields:
      private int _x;
      private int _y;
      // Constructor:
      public Point(int x, int y)
      {
      _x = x;
      _y = y;
      }
      // Property implementation:
      public int x
      {
      get
      {
      return _x;
      }
      set
      {
      _x = value;
      }
      }
      public int y
      {
      get
      {
      return _y;
      }
      set
      {
      _y = value;
      }
      }
      }
      class MainClass
      {
      static void PrintPoint(IPoint p)
      {
      Console.WriteLine("x=[0], y=[1]", p.x, p.y);// 把[] 改成 {}
      }
      static void Main()
      {
      Point p = new Point(2, 3);
      Console.Write("My Point: ");
      PrintPoint(p);
      }
      }
      输出
      My Point: x=2, y=3

  • 相关阅读:
    Java——多线程之方法详解
    Java——深入理解Java异常体系
    Java——Java代码的执行顺序
    Java——抽象类与接口的前世今生
    存储系列之 LUN 和 LVM
    存储系列之 RAID技术原理简介
    存储系列之 硬盘接口与SCSI总线协议
    存储系列之 介质(软盘、硬盘、固态)和磁盘寻址
    Redis设计原理简介
    MySQL InnoDB索引介绍以及在线添加索引实例分析
  • 原文地址:https://www.cnblogs.com/liyugang/p/1583814.html
Copyright © 2011-2022 走看看