C#.NET描述arcobjects中的接口、类的关系2

/*
 * Created by SharpDevelop.
 * User: noo
 * Date: 2009-8-19
 * Time: 10:40
 * 
 * AO中类、接口的关系,多个类继承一个接口,ControlsMapZoomInToolClass,ControlsMapZoomOutToolClass 类继承自ITool接口
 
*/

using  System ;
interface  ITool // 工具接口,工具包含有放大,缩小,漫游,测距等
{
    
void  OnDblClick(); // 双击鼠标事件
     void  OnMouseDown(); // 点击鼠标事件
     void  OnMouseMove(); // 移动鼠标事件
     void  OnMouseUp(); // 放下鼠标事件
}
class  ControlsMapZoomInToolClass:ITool // 放大类
{
    
void  ITool.OnDblClick() // 放大工具不支持双击鼠标事件,但是这里还是要写一个无任何代码的空方法
    {
    }
    
void  ITool.OnMouseDown()
    {
        Console.WriteLine (
" 放大工具,按下鼠标。 " );
    }
    
void  ITool.OnMouseMove()
    {
        Console.WriteLine (
" 放大工具,拖动鼠标。 " );
    }
    
void  ITool.OnMouseUp()
    {
        Console.WriteLine (
" 放大工具,放下鼠标。 " );
    }
}
class  ControlsMapMeasureToolClass:ITool
{
    
void  ITool.OnMouseDown()
    {
        Console.WriteLine (
" 测量工具,按下鼠标。 " );
    }
    
void  ITool.OnMouseMove()
    {
        Console.WriteLine (
" 测量工具,拖动鼠标。 " );
    }
    
void  ITool.OnMouseUp() // 放大工具不支持放下鼠标事件,但是这里还是要写一个无任何代码的空方法
    {
    }
    
void  ITool.OnDblClick()
    {
        Console.WriteLine (
" 测量工具,双击鼠标。 " );
    }
}
class  Test
{
    
static   void  Main()
    {
        Console.WriteLine (
" \n选择放大工具。\n " );
        ITool pZoomIn
= new  ControlsMapZoomInToolClass (); // 实例化一个放大工具
        pZoomIn.OnMouseDown ();
        pZoomIn.OnMouseMove ();
        pZoomIn.OnMouseUp ();
        
        Console.WriteLine (
" \n选择测量工具。\n " );
        ITool pMeasure
= new  ControlsMapMeasureToolClass (); // 实例化一个测量工具
        pMeasure.OnMouseDown ();
        pMeasure.OnMouseMove ();
        pMeasure.OnDblClick ();
        
// 当多个类继承自一个接口的时候,接口中包含所有派生类的方法和属性,派生类要显式地实现所有的接口方法和属性
    }
}

转载于:https://www.cnblogs.com/gisland/archive/2009/08/19/1549715.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值