What is Object Oriented Programming?
Programming style wherein classes (blueprints) are created to create objects which contain both the data elements (attributes) and behavior (procedures) in a single entity, called an "instance" which operates on its own data elements and the behavior is managed only through an interface. Examples include C#, Java, C++, PHP, Ruby, and Visual Basic. Objects will correspond to real world items, for example, an online shopping system will have objects such as a shopping cart, customers, products, receipt, etc...and behaviors between the objects occur through an interface of the objects such as AddItemToCart, CreateReceipt, DetermineCustomerPurchases, etc. Classes are designed in a heirarchial fashion, for example, a parent product [name, price, taxable, etc] may be created which has subclasses (inheritance) which contain all the parent items plus their own distinct qualities such as software or hardware subclasses. Further, these