anchor.diff:    it doesn't have to be the same type as the returned object.
     That's the subject of the next section. 
     
  -  但令牌不一定都是类，就算它是一个类，它也不一定都返回类型相同的对象。这是下一节的主题。<a id="class-interface"></a>:marked
  +  但令牌不一定都是类，就算它是一个类，它也不一定都返回类型相同的对象。这是下一节的主题。
  +  
  +<a id="class-interface"></a>
  +:marked
     
     ### class-interface
     
  
positive.code:   Such a narrowing interface helps decouple the concrete class from its consumers.
  
    ***类-接口***应该*只*定义允许它的消费者调用的成员。窄的接口有助于解耦该类的具体实现和它的消费者。
    这个`MinimalLogger`只定义了两个`LoggerClass`的成员。
  
  .l-sub-section
    :marked
  
negative.code:   the same way you've done it before:
  
    *Carol*，*Alex*的第三个子组件，把父级注入到了自己的`parent`参数，和之前做的一样：
    
  +makeExample('cb-dependency-injection/ts/src/app/parent-finder.component.ts','carol-class','parent-finder.component.ts (CarolComponent class)')(format='.')
  
  :marked
    Here's *Alex* and family in action:
  
  