public OrSpec(AbsSpec l, AbsSpec r)
 {
     left  = l;
     right = r;
 }
 public AbsSpec Or(AbsSpec right)
 {
     return(new OrSpec(this, right));
 }
 public AndSpec(AbsSpec l, AbsSpec r)
 {
     left  = l;
     right = r;
 }
 ///因为组合节点比较固定,可以父类依赖子类
 public AbsSpec And(AbsSpec right)
 {
     return(new AndSpec(this, right));
 }