The Java TM Tutorial

| Start of Tutorial > Start of Trail | Search

Trail: Learning the Java Language

## Lesson: Object-Oriented Programming Concepts

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

> This figure has been reduced to fit on the page.
> Click the image to view it at its natural size.
> 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, provide many benefits to software developers and their products. However, historically a lot of hype has surrounded this technology, causing confusion in both managers and programmers alike. 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 widespread misinformation and mistrust of object-oriented technology.

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

> This lesson slashes through the hype and explains the key concepts behind object-oriented programming, design, and development.

### What Is an Object?

> An object is a software bundle of variables and related methods. 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 using messages.

### What Are Classes?

> 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?

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

> A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs.

### Where Can I Get More Information?

> This lesson gave you a glimpse into the world of object-oriented design and development and may have whet your appetite for more. Check out the fine publications in this biliography of object-oriented titles to get more information about this exciting technology!

This lesson provides 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 programming language, a truly object-oriented language, the power of objects and classes will become apparent.

| Start of Tutorial > Start of Trail | Search