zoukankan      html  css  js  c++  java
  • 设计模式Adapter(适配器模式)

    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();
            }
        }

    这样就可以方便的使用一个已经存在的类,而不需要重新写了。
  • 相关阅读:
    CSP-S2-2019游记
    【BZOJ2301】【HAOI2011】Problem B
    【NOIp2017】宝藏
    【NOIp2016】天天爱跑步
    【NOIp2018】保卫王国
    【BZOJ2159】Crash的文明世界
    Van爆零赛总结
    【ZJOI2016】小星星
    【CF1025D】Recovering BST
    【HAOI2016】字符合并
  • 原文地址:https://www.cnblogs.com/bear831204/p/1262304.html
Copyright © 2011-2022 走看看