title: UML class diagram association - how, when and why?
body: <p>I usually get so confused with UML and this situation is no different.
  Let's say I have an interface IAnimal, class Food and Cat:</p>
  
  <pre><code>interface IAnimal {
      void Feed(Food food);
  }
  
  class Cat : IAnimal {
      void Feed(Food food) {
          //code
      }
  }
  </code></pre>
  
  <p>I've got 3 questions about drawing UML class diagram for these 3 elements:  </p>
  
  <ul>
  <li><p>I assume I should use association between IAnimal and Food or Cat and Food. Should there be an arrow on one side of the association line, if yes, then on which side and why there?  </p></li>
  <li><p>if I write Feed as an IAnimal method on diagram, should I write a method Feed inside class Cat or do I write only additional Cat methods?</p></li>
  <li><p>the most important: should the association be between IAnimal and Food, Cat and Food, or both?  </p></li>
  </ul>