ColorPicTips on Getting StartedColorPic

随笔 - 4  文章 - 7  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

After you've installed the ColorPic you might be wondering how to get started picking colors. Use the tips below to get started selecting colors and use a few advanced features that you might not have know about too.

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

相册

http://cwj-0122.cnblogs.com/

搜索

  •  

最新评论

阅读排行榜

评论排行榜

jdk集合的基本层次有三层。
Collection-->List-->ArrayList,比如这样的结构。
同时伴随着一条抽象类的线。
AbstractCollection-->AbstractList-->ArrayList,比如这样的线。
这是因为jdk集合,把list,set都看成是collection。本来,对于list,或者对于set.下面的结构图很好的解决了类层次
的设计问题。 
 
              图(1)
但是list和set又要提取抽象出去。所以又得把这个结构改装。改装图如下: 


这图稍微复杂了一点(而且,他只是类继承体系的一边而已,比如是List那一边)。接口继承接口,抽象类实现接口继承抽象类。仔细看下,其实也很明白。说明:
MyInterface-->MyAbstractClass-->MyConcreteClassB.这是图(1)的一边,当MyConcreteClassB类需要扩展新方法,而不仅仅局限于MyInterface接口定义的方法呢?首先想到的当然是,让MyConcreteClassB同时实现另一个具有新方法的接口。考虑到新接口在集合类中也是一种MyInterface接口,所以,这个新接口继承了MyInterface。同时,对于新接口也需要缺省的或公共的方法,所以,把MyConcreteClassB改装为抽象类,最后,让最终的具体去继承该抽象类以及实现新接口。变成了上面的图。当然,这只是一个基本图。如果,你不一样的需求,完全可以改装你想要的结构。但是,这样的结构,相信维护起来很好。
然而还是有点疑问?比如说LinkList,当我这样编码时,addFirst方法被过滤了。也就是LinkList无法抽象。因为这个是List接口之外LinkedList自己扩展的方法。
List linkList = new LinkedList();
  linkList.addFirst("abc");           //error
  linkList.add("bcd");

LinkedList linkList = new LinkedList();
  linkList.addFirst("abc");           //OK
  linkList.add("bcd");
又比如,在Stack设计上,Stack是继承于Vector的方式来实现,这样就拥有了Vector的所有方法,而这些方法在Stack是不该有的。让人有摸不着头脑的感觉。感觉用委托会好点吧。thinking java 里提到了关于这一点。是建议用LinkedList 委托来实现的。建议大家不要用java.uti.Stack类。而自己通过LinkedList 去构造一个Stack.
posted on 2008-08-14 15:36 zhqh 阅读(331) 评论(0)  编辑  收藏 所属分类: jdk代码分析

只有注册用户登录后才能发表评论。


网站导航:
 

aaaaaaaaaaaaaaaaaaaaaa