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();
    }
  }
}
复制代码

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

posted on   Keepshining  阅读(721)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示