android 链式模式 责任链

    private void t() {
        bj bj = new bj();
        cs cs = new cs();
        cz cz = new cz();
        bj.next=cs;
        cs.next=cz;

        bj.handleMessage("two");
    }


    abstract class handler{
        protected handler next;
        public abstract void handleMessage(String key);
    }

    class bj extends handler{

        @Override
        public void handleMessage(String key) {
            if ("one".equals(key))
            {
                Log.i(TAG, "handleMessage: one handled");
            }else {
                if (next!=null)
                    next.handleMessage(key);
            }
        }
    }

    class cs extends handler{

        @Override
        public void handleMessage(String key) {
            if ("two".equals(key))
            {
                Log.i(TAG, "handleMessage: two handled");
            }else {
                if (next!=null)
                    next.handleMessage(key);
            }
        }
    }

    class cz extends handler{

        @Override
        public void handleMessage(String key) {
            if ("three".equals(key))
            {
                Log.i(TAG, "handleMessage: three handled");
            }else {
                if (next!=null)
                    next.handleMessage(key);
            }
        }
    }
发布了187 篇原创文章 · 获赞 65 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/mhhyoucom/article/details/88756099