title: Can anyone provide an example of the Liskov Substitution Principle (LSP) using Vehicles?
body: <p>The Liskov Substitution Principle states that a subtype should be substitutable for that type (without altering the correctness of the program).</p>
  
  <ul>
  <li>Can someone please provide an example of this principle in the domain of vehicles (automotives)? </li>
  <li>Can someone please provide an example of a <em>violation</em> of this principle in the domain of vehicles?</li>
  </ul>
  
  <p>I've read about the square/rectangle example, but I think that an example with vehicles will give me a better understanding of the concept.</p>