心如止水

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Adapter设计模式定义:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。

引用一个例子,假设我们有一个图形的基类Shape

    public class Shape
    {
        
public abstract void Display();
    }

另外有两个子类分别是LineRectangle

    public class Line : Shape    
    {
        
public override void Display()
        {
            
// do something
        }
    }

    
public class Rectangle : Shape
    {
        
public override void Display()
        {
            
// do something
        }
    }

如果现在我们要定义一个新的类表示椭圆,而已经有这么一个类存在了:

    public class MyCircle
    {
        
public void DisplayCircle()
        {
            
// do something
        }
    }
它也是用来显示一个Shape,但是可能函数名称不一样,为此我们可以用一个Adapter将它包装起来:
    public class Circle : Shape
    {
        MyCircle myCircle 
= new MyCircle();
        
public override void Display()
        {
            myCircle.DisplayCircle();
        }
    }

这样就可以方便的使用一个已经存在的类,而不需要重新写了。
posted on 2008-08-06 18:17  cutebear  阅读(207)  评论(0编辑  收藏  举报