title: What is the name of this in C#?
body: <p>I'm reading a beginner's C# book. Everything was smooth defining objects like this:</p>
  
  <pre><code>BaseClass foo = new BaseClass();
  </code></pre>
  
  <p>but then the author, without any explanation, changed the definitions like this:</p>
  
  <pre><code>MiClass foo = new DerivedClass();
  </code></pre>
  
  <p>I would like to learn about this in a book or internet but I don't know what words to use to search for this topic.</p>