使用组合的方式来创建新类, 并可以重新定制某些类的特定行为

class Action
{
    private    OnEnterListener    enterListener;
    private OnLeaveListener leaveListener;

    public Action(OnEnterListener enterListener)
    {
        this.enterListener = enterListener;
    }
    
    public Action(OnLeaveListener leaveListener)
    {
        this.leaveListener = leaveListener
    }    

    public interface OnEnterListener
    {
        void onEnter();
    }
    
    public interface OnLeaveListener
    {
        void onLeave();
    }
}

class Persone implements Action.OnEnterListener, Action.OnLeaveListener
{
    /*
    使用组合的方式定义一个新类,而且可以对特定的对象的特定行为进行重写
    */

    private Action    action;
    
    public Persone()
    {
        action = new Action(this);
    }
    
    public void onEnter()
    {
        
    }
    
    public void onLeave()
    {
    
    }
}

上面是在代码中看到的设计模式

posted @ 2015-12-01 09:54  莫压枯枯地  阅读(166)  评论(0编辑  收藏  举报