• AE接口编程


    [转]原文链接:https://malagis.com/arcgis-engine-10-develop-handbook-2-1.html

    使用 ArcGIS Engine,也就意味着使用里面的接口,那么什么是接口呢?在面向对象的编程中,我们都 会接触到这个玩意儿,我们知道面向对象有三大特性 封装,继承,多态,相信很多人在学习多态的时候, 会接触接口。接口可以用这样一句话来描述“接口就是包含一系列不被实现的方法.而把这些方法的实现交给继承它的类.”,这句话看起来很晦涩,没关系,我们通过下面一个例子说明 我定义了一个接口 IPeople。

    1 using System.Collections.Generic;
    2 using System.Linq; using System.Text;
    3 
    4 namespace InterfaceTest {
    5   interface IPeople {
    6     void gender();
    7   }
    8 }

    这个接口里面有一个性别的方法,这个只对方法进行了定义,而方法内却没有内容,也就是说,通过 这个接口的这个 gender 方法,我们不能知道它到底干什么,但是要知道这个 gender 到底是干什么用的,那 么就要看实现了这个方法的类。同理我定义两个类,分别实现这个接口。

    Boy类代码

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 namespace InterfaceTest {
     6   class Boy : IPeople
     7   {
     8     public void gender ()
     9     {
    10       Console.WriteLine ("I’m a boy.");
    11     }
    12   }
    13 }

    Girl类代码

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace InterfaceTest
     7 {
     8   class Girl : IPeople
     9   {
    10     public void gender ()
    11     {
    12       Console.WriteLine ("I’m a girl.");
    13     }
    14   }
    15 }

     通过上面的两个类,我们就很清楚的看到这个方法的作用了,我们也可以看到一个接口可以被多个类 实现。现在我们在一个主函数里分别调用这两个类,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace InterfaceTest
    {
      class Program
      {
        static void Main (string[] args)
        {
          IPeople Person; // 声明接口变量
          Person = new Boy (); // 实例化,接口变量中存放对象的引用
          Person.gender (); // 这个调用的是Boy中的gender方法
          Person = new Girl (); // 实例化,接口变量中存放对象的引用 
          Person.gender(); // 这个调用的是Gril中的gender方法 Console.ReadLine();
        }
      }
    }

    我们运行一下这个,看到如下的效果:

  • 相关阅读:
    Eclipse的下载与安装
    IntelliJ IDEA(2018)安装详解
    关于Idea中的web.xml 自动生成模板问题
    基于ssm框架的web.xml配置及解析
    Mybatis分页插件PageHelper的配置与基本使用
    基于maven的ssm框架pom.xml的基本配置及解析
    python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
    快速指数算法
    伪随机序列
    django中Queryset的删除问题、分页问题
  • 原文地址:https://www.cnblogs.com/wodewei/p/11598309.html
Copyright © 2020-2023  润新知