title: How to accomplish inheritance effectively using proto-buffers
body: <p>I have a base class message</p>
  
  <pre><code>message Animal {
       optional string name = 1;
       optional int32 age = 2;  
  }
  </code></pre>
  
  <p>and the sub-class which extends animal</p>
  
  <pre><code>message Dog{
       optional string breed = 1;
  }
  </code></pre>
  
  <p>So while building a dog message , i should be able to set all the fields of Animal. I know the round about way of doing it (declaring all the animal fields once again in dog message)but is it possible simply and effectively using protobuffers? 
  Also i learnt about extensions and i understood that it is just used to add a new field to the already existing message and so it should not be misconstrued to be the possible solution for achieving inheritance. </p>
  
  <p>Is it possible to achieve the above simple design using protobuffers's extensions?</p>