title: Make child classes unable to override method implementation
body: <p>Let's say I have a base abstract class named <code>Animal</code> which has a virtual method named <code>Move</code>.</p>
  
  <p>I create a child class named <code>Mammal</code> which inherits from Animal and defines the <code>Move</code> method.</p>
  
  <p>I then create a child class of <code>Mammal</code> named <code>Rabbit</code>.</p>
  
  <p>Here's the thing: </p>
  
  <p>I do not want <code>Rabbit</code> to be able to override the implementation of <code>Move</code> which <code>Mammal</code> has already defined (child classes of <code>Mammal</code> must not change the definition of Move, which <code>Mammal</code> defined).</p>
  
  <p>Since <code>Rabbit</code> inherits from <code>Mammal</code>, is it possible to "unvirtualize" the <code>Move</code> method in the <code>Mammal</code> class in order to prevent inheriting classes from overriding the method definition in <code>Mammal</code>?</p>