肯德基官网优惠券,神武月饼线索,里番二区
问题:
觉得用List和数组这种线性的布局去实现树这样的布局有一点抽象,可否请大神们详细地注解一下?
答复:
树布局,在设计模式里面叫复合模式,也便是每个对象能够作为一个容器,内部再包括一个或多个容器和叶子,子容器继续雷同的方式形成层层嵌套,这便是树布局了。例如swing UI框架便是典型的复合模式。
树模型一般便是三个对象,component对象作为同等性接口,composite对象作为容器,leaf对象作为叶子,composite和leaf都承继component,因此它们两个向上转型都是component对象。
component界说了三个主要接口方法:
getParent,获取当前对象的父component
getChildren,获取当前对象的所有子component
isLeafe,当前component是否是leaf。
当然也必要setParnet和addChild或者构造等方法来构建树布局。
树布局的操纵主要是递归,由于人人都是component对象类型,那么循环加递归就能够在同等性的component对象上操纵,分为自顶而下(通过getChildren)和自底而上(getParent)。
递归方法素质上便是方法内部调用本身,自底而上调用本身的依据便是getParent是否为null,自顶而下调用依据便是getChildren是否为empty或isLeaf。
通过对容器节点或叶子节点的区分,我们就能够在展示层绘制分歧的展示结果,同时赋予分歧的操纵属性。
08年以前常常做一些组件为团队供应通用手艺支持,树组件的设计也是分歧项目产物中的必选菜。
(END)
如果感觉写得不错,文章对你有用,请在文末「在看,分享和赞」三连击
本文地址:http://www.wbwb.net/bianchengyuyan/206944.html 转载请注明出处!