title: Good resource to learn "PRACTICAL" OOP?
body: <p>This might sound like a silly question, because if you Google <code>"OOPS"</code> or <code>"OOPS in C#"</code> you get tons of results. But.<br>
  I am aware of concepts of <code>OOP</code> like <code>abstraction</code>, <code>inheritance</code> and what not... But what I want to see is some "<strong><em>practical usable example</em></strong>" of it in programming. Like for <code>polymorphism</code>  you know a practical example is <code>Object.GetType</code> etc.  </p>
  
  <p>Some times if not many, I find myself doing something like at a button click open a connection and do some stuff, this is not <code>OOP</code> oriented from what I know, I should have a particular entity/class, and it should have a method for the stuff I am doing at button click, and then I should call that method, instead of doing all the stuff at button click.  </p>
  
  <p>Another example is that I just found myself loading all the projects that a employee works on, at <code>the txtEmployeeName.Leave</code> event and then fill the combo for the projects. This is not OOP oriented either, I should have class <code>Employee</code>, and a method in that which loads all the projects this employee works on, and then I should call that method at <code>txtEmployeeName.Leave</code>.</p>
  
  <p>When I find or read somewhere (online or whatever) I see things like, <code>Vehicle</code> is a abstract class, and <code>Car</code> is a <code>Vehicle</code>, so it inhered from <code>Vehicle</code>, and this is <code>Inheritance</code>. We all understand that, but that's not a practical thing. Another example I found, that if we have a method <code>MakeSound</code>, and we call it an object <code>Cat</code>, it will <code>Purr</code>, but if we call the same method on <code>Dog</code>, it will <code>Bark</code>, this is <code>Polymorphism</code>.</p>
  
  <p>Its good for understanding, but its not "<em>practical</em>" or you should rather say "<em>real programming example</em>". <strong>So what I need to know is that are there any good resources (online, books or whatever) where I can read about OOP but not like in exaples I gave in previous paragraph, but some "real world programming example" that would actually have me make my code more OO?</strong> </p>