name: inverse layout: true class: taylor msoe --- class: center, middle .title[ # Object-Oriented Programming Review ] ??? Toggle speaker view by pressing P Pressing C clones the slideshow view, which is the view to put on the projector if you're using speaker view. Press ? to toggle keyboard commands help. --- # Object-Oriented Programming * Classes bundle data and operations that act on the data -- * Classes represent things we wish to model in our program + Words + Bank Accounts + Rectangles -- * An object is a specific instance of a class --- # Motivation for Object Oriented Programming * Separation of concerns -- * To implement a class we focus on the details to make it work -- * Details are encapsulated within the class -- * Client code (code that uses the class) doesn't need to worry about the details -- * Just the public interface --- # Information Hiding * We keep the details of the implementation hidden through visiblity modifiers + `private` — only available within the class + `public` — available everywhere -- * Simplifies the use of the class -- * Protects the implementation of the class from misuse --- # Unified Modeling Language * Provides "graphical" summary of a class --