title: Does child object implement parent classes interface?
body: <p>This may have been asked before but I couldnt find a satisfactory answer:</p>
  
  <p>I have an interface called <code>IRepository</code> that defines a lot of generic methods such as <code>Find&lt;T&gt;();</code> </p>
  
  <p>I have an abstract class called <code>RepositoryBase</code> that implements this interface providing generic versions of these methods.</p>
  
  <p>I then have a series of objects that inherit from this object such as <code>PersonRepository</code>.</p>
  
  <p>my question is:</p>
  
  <p><strong>Is the PersonRepository an object of type IRepository?</strong></p>
  
  <p>or in other words will this code work?</p>
  
  <pre><code>IRepository repo = new PersonRepository();
  </code></pre>