/*
* 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 ();
// 当多个类继承自一个接口的时候,接口中包含所有派生类的方法和属性,派生类要显式地实现所有的接口方法和属性
}
}
* 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 ();
// 当多个类继承自一个接口的时候,接口中包含所有派生类的方法和属性,派生类要显式地实现所有的接口方法和属性
}
}