悄悄成长
for navigation

Study tha adapter pattern this morning. Found some tutorial are not as good as I imaged.

I parse my code about the adapter to demo it.

Firstly, the object adapter:

package duanbo.patterns.adapter;

public class ObjectAdapter
{
    
public static void main(String[] args){   
        PutBall pb 
= new PutBall();   
           
        System.out.println(
"BasketBall");   
        BasketballBag bb 
= new BasketballBag();   
        pb.putBalls(bb);   
           
        System.out.println(
"FootBall");
        FootballBag fb 
= new FootballBag();   
        BallBag bbag 
= new BallBag(fb);   
        pb.putBalls(bbag);   
    }

}


class BallBag extends BasketballBag
{
    FootballBag fb;

    
public BallBag(FootballBag fb)
    
{
        
this.fb = fb;
    }


    
public void putball()
    
{
        fb.putFootball();
    }

}


class BasketballBag
{
    
public void putball()
    
{
        System.out.println(
"Put in BasketBall.");
    }

}


class PutBall
{
    
public void putBalls(BasketballBag bb)
    
{
        bb.putball();
    }

}


class FootballBag
{
    
public void putFootball()
    
{
        System.out.println(
"Put in FootBall.");
    }

}

And the second demo: Class Adapter:

package duanbo.patterns.adapter;

public class ClassAdapter extends RoundPeg implements ISquarePeg
{
    
private RoundPeg roundPeg;

    
public ClassAdapter(RoundPeg peg)
    
{
        
this.roundPeg = peg;
    }


    
public void insert(String str)
    
{
        roundPeg.insertIntoHole(str);
    }


}


interface IRoundPeg
{
    
public void insertIntoHole(String msg);
}


interface ISquarePeg
{
    
public void insert(String str);
}


class SquarePeg implements ISquarePeg
{
    
public void insert(String str)
    
{
        System.out.println(
"SquarePeg insert():" + str);
    }

}


class RoundPeg implements IRoundPeg
{
    
public void insertIntoHole(String msg)
    
{
        System.out.println(
"RoundPeg insertIntoHole():" + msg);
    }

}
posted on 2008-05-05 13:19 Duan Bo Hao 阅读(251) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: