What+is+OOP?

OOP in short for Object Oriented Programming.

There are so many definitions of OOP, here are a few of them > [|wordnet.princeton.edu/perl/webwn] > [|en.wikipedia.org/wiki/Object-oriented_programming] > [|docs.rinet.ru/KofeynyyPrimer/ch38.htm]
 * creating a program that can use and support objects
 * Object-oriented programming (OOP) is a programming paradigm that uses "objects" and their interactions to design applications and computer programs. Programming techniques may include features such as encapsulation, modularity, polymorphism, and inheritance. ...
 * A style of programming that defines data as objects with attributes and methods that are applied to those objects, and which can be inherited by other objects.
 * A style of programming that supports encapsulation, inheritance, and polymorphism. Some languages are inherently object oriented [|www.innovatia.com/software/papers/com.htm]
 * A computer programming technique in which the algorithm is implemented based on the objects instead of variable. [|www.natemurphy.net/glossary.html]
 * A programming paradigm that treats program elements as objects that have data fields and functions that act on the data fields. The three main characteristics of OOP are encapsulation, inheritance, and polymorphism.

There are many concepts mentioned in those definitions above. Most of them will be covered in this module.

You've already learned about a number of variable types, including unsigned integers and characters. The type of a variable tells you quite a bit about it. For example, if you declare Height and Width  to be unsigned integers, you know that each one can hold a number between 0 and 65,535, assuming an integer is two bytes. Trying to hold anything else in these variables causes an error. You can't store your name in an unsigned short integer, and you shouldn't try.  The type of these variables tells you:  More generally, a type is a category. In OOP, the programmer can create any type needed, and each of these new types can have all the functionality and power of the built-in types.
 * Their size in memory
 * What information they can hold
 * What actions can be performed on them

Although this module focus on the fundamental concepts of OOP and its implementations. It is always important to know where it come from and its origins. Refer to [] for more background information on OOP.

Proceed to Page on Class Vs Objects