Previous | Next | Trail Map | Writing Java Programs | Table of Contents

Object-Oriented Programming Concepts: A Primer

You've heard it a lot in the past several years. Everybody is saying it.

But, what is all the fuss about objects and object-oriented technology? Is it real? Or is it hype? Well, the truth is--it's a little bit of both. Object-oriented technology does, in fact, exist and provide many benefits to software developers and their products. However, historically there has been a lot of hype surrounding this technology. Object-oriented concepts can be difficult to grasp and one's understanding of the concepts often slowly evolve over time. Many companies fell victim to this hardship (or took advantage of it) and claimed that their software products were object-oriented when, in fact, they weren't. These false claims confused consumers causing misinformation and mistrust of object-oriented technology to abound.

However, in spite of the overuse and misuse of the term object-oriented, the computer industry is now beginning to overcome the hype and there is a growing understanding of this technology and its benefits.

This lesson slashes through all of the hype and explains the key concepts behind object-oriented programming, design and development.
Note: this primer does not touch on the advanced concepts of object-oriented programming. Those are covered in context of Java programming examples in later sections of this on-line guide.

What is an Object?

Objects are software bundles of data and related procedures. Software objects are often used to model real-world objects you find in everyday life.

What are Messages?

Software objects interact and communicate with each other via messages.

What are Classes?

A class is a template or prototype that defines the variables and the methods common to all objects of a certain kind.

What is Inheritance?

(Or what does my grandmother's money have to do with all of this?)

Classes inherit state and behaviour from their superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs.

Where Can I Get More Information?

This lesson given you a glimpse into the world of object-oriented design and development and may have whet your appetite for more. Check out these fine publications to get more information about this exciting technology!
This lesson provided a basis for understanding key object-oriented terminology and concepts. Understanding these new terms and concepts is just the beginning. As you begin to design and program in the Java language, a true object-oriented language, the power of objects and classes will become apparent.

Previous | Next | Trail Map | Writing Java Programs | Table of Contents