1.概述
组合模式比较简单,它将一组相似的对象看作一个对象处理,并根据一个树状结构来组合对象,然后提供一个统一的方法去访问相应的对象,以此忽略掉对象与对象集合之间的差别。
2.代码实现
// 子view , 模拟android的view
class View {
String name;
public View() {
// TODO Auto-generated constructor stub
}
public View(String name) {
this.name = name;
}
public void show() {
System.out.println("显示 : " + name);
}
}
// 一组view,包含多个view
class ViewGroup extends View {
private List<View> views = new ArrayList<View>();
public ViewGroup addView(View view) {
views.add(view);
return this;
}
public void removeView(View view) {
views.remove(view);
}
public View getChildAt(int index) {
return views.get(index);
}
@Override
public void show() {
for (View view : views) {
view.show();
}
}
}
//-------------测试--------------
public static void main(String[] args) {
View textView = new View("TextView");
View editText = new View("EditText");
ViewGroup group = new ViewGroup();
group.addView(textView).addView(editText);
group.show();
}
显示 : TextView
显示 : EditText
老生常谈:深圳有爱好音乐的会打鼓(吉他,键盘,贝斯等)的程序员和其它职业可以一起交流加入我们乐队一起嗨。我的QQ:657455400