设计模式笔记-组合模式

组合模式,主要构建部件之间的层次关系,主要应用文件和树结构。
public interface Component {
        public void add(Component component);
        public void remove(Component component);
        public void dispaly();

}
public class Composite implements Component {
       
        private List<Component> list = new ArrayList<Component>();
       
        private String name ;
       
        public Composite(String name) {
               this .name = name;
       }
       
        public void add(Component component) {
               list.add(component);
       }

        public void remove(Component component) {
               list.remove(component);
       }

        public void dispaly() {
              System. out .print("composite :" + this. name + "\nleaf: ");
               for (Component component : list ) {
                     System. out .print(component + " " );
              }
       }

        public String toString() {
               return this .name ;
       }
}
public class Leaf implements Component {
        private String name ;
        public Leaf(String name) {
               this .name = name;
       }
        public String toString() {
               return this .name ;
       }

        public void add(Component component) {
       }

        public void remove(Component component) {
       }

        public void dispaly() {
              System. out .print(this .name + " " );
       }

}
public class CompositeClient {

        public static void main(String[] args) {
               Component level1 = new Composite( "level1" );
               Component level21 = new Leaf( "level21" );
               Component level22 = new Leaf( "level22" );
               level1.add(level21);
              level1.add(level22);
              level1.dispaly();
       }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值