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

    接口的定义

    与类不同的是接口用interface关键字

    (1)接口中所有成员不能添加任何修饰符,默认为public,如果显示指定修饰符将会出现编译错误;

    (2)接口中不能包含字段、运算符重载、实例构造函数和析构函数;

    接口的继承

    (1)类继承接口与类继承类是一样的,都使用: 继承多个接口后面用,分开;

    class Test:IA,IB

    {}

    调用接口中的方法和隐式显接口实现方式

    (1)显式实现接口方法不能使用任何修饰符显式实现的成员都默认为私有

    (2)采用隐式实现接口时类与接口都能访问接口中的方法;而采用显式实现接口时接口方法只能通过接口去访问,因此此时接口方法默认为私有的 

    (3)继承多个接口时显式的实现接口解决了命名冲突问题,这样能标识出那个方法属于那个接口

    隐式:

    using System;
    namespace TestApplication
    {
      class Test
      {
        static void Main(string[] args)
        {

          IChinese Chinesespeak=new Speakers();
          IEnglish Englishspeak=new Speakers();
          Chinesespeak.speak();
          Englishspeak.speak();
          Console.ReadKey();
        }
      }
      interface IChinese
      {
        void speak();
      }
      interface IEnglish
      {
        void speak();
      }
      class Speakers:IChinese,IEnglish
      {
        public void speak()
      {
        Console.WriteLine("Chinese");
      }
      }
    }

    运行结果为

    式:

    using System;
    namespace TestApplication
    {
        class Test
        {
          static void Main(string[] args)
          {

            IChinese Chinesespeak=new Speakers();
            IEnglish Englishspeak=new Speakers();
            Chinesespeak.speak();
            Englishspeak.speak();

            Console.ReadKey();
          }
        }
        interface IChinese
        {
          void speak();
        }
        interface IEnglish
        {
          void speak();
        }
        class Speakers:IChinese,IEnglish
        {
          void IChinese.speak()
        {
          Console.WriteLine("Chinese");
        }
        void IEnglish.speak()
        {
          Console.WriteLine("English");
        }
      }
    }

    运行结果:

  • 相关阅读:
    20160813上午训练记录
    [bzoj 2159]Crash的文明世界
    【娱乐】高端小游戏Manufactoria
    【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)
    [CF]codeforces round#366(div2)滚粗记
    洛谷 [P3265] 装备购买
    POJ 1830 开关问题
    洛谷 [P4035] 球形空间生成器
    BZOJ 2973 入门OJ4798 石头游戏
    洛谷 [P1939] 矩阵加速数列
  • 原文地址:https://www.cnblogs.com/lbonet/p/6877600.html
Copyright © 2011-2022 走看看