王吉元-NWPU

导航

 

  1. 在  项目名.editors这个包下,有一个TagRule类,其中在XMLPartitionScanner这个类中引用了TagRule的同名方法。即:

                                           rules[2]=  new TagRule(tag);

实际上,TagRule实现了一个语法规则,TagRule的同名方法的源码如下:

                                        public TagRule(IToken token) {

                                            super("(", ")", token);//控制最外围的符号,即若最外围为()时,“”内的字符会变成绿色
                                            }

其实呢,MultiLineRule这个方法完全可以实现以上的功能:将rules[2]=new TagRule(tag);这一句换成rules[2] = new MultiLineRule("(",")",tag);然后将TagRule这个类去掉即可,也完全可以实现相同的功能。

     经过以上分析,可知原来TagRule这个类重写了父类的方法,写成了与MultiLineRule功能相同的方法。其实TagRule这个类还可以重写成别的形式,以完成不同的功能。

posted on 2013-03-01 09:41  王吉元  阅读(222)  评论(0编辑  收藏  举报