If you've never used an object-oriented language before, you need to understand the underlying concepts before you begin writing code. You need to understand what an object is, what a class is, how objects and classes are related, and how objects communicate by using messages. The first few sections of this trail describe the concepts behind object-oriented programming. The last section shows how these concepts translate into code.
What Is an Object?
An object is a software bundle of related variables and methods. Software objects are often used to model real-world objects you find in everyday life.
What Is a Class?
A class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind.
What Is Inheritance?
A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs.
What Is an Interface?
An interface is a contract in the form of a collection of method and constant declarations. When a class implements an interface, it promises to implement all of the methods declared in that interface
source: frieyadie.com