This document provides an introduction to object-oriented programming (OOP). It discusses the basic elements of OOP including objects, methods/actions, and classes. Objects are instances of classes that represent real-world entities. Methods are associated actions. Classes group similar objects. The document also outlines key OOP features such as polymorphism, inheritance, encapsulation, and information hiding. Polymorphism allows one interface with multiple methods. Inheritance transfers properties from superclasses to subclasses. Encapsulation binds data and actions within a class, while information hiding protects parts of a class from external access.