Object-oriented programming concepts have become accepted practice within the programming world, but thats not to say object-oriented programming -- OOP, as its often called -- is universally appreciated or understood. Whether youre new to programming or a pro at Visual Basic, you should be thinking about delving into the world of OOP. Heres our guide to becoming an object-oriented programming guru -- a clear way to distinguish yourself from your colleagues.
What Is Object-Oriented Programming?
Object-oriented programming is a notoriously difficult concept to explain, perhaps because its adherents insist the underlying concepts are simple and self-evident. Are they? Yes, once you grasp them, but not at first glance. That said, heres a quick overview:
As the name implies, the concept of the "object" is at the heart of object-oriented programming. Rather than focusing on the steps or procedures for accomplishing a task, object-oriented programming focuses on defining the objects being manipulated. This means determining both an objects characteristics, or variables, and how it behaves. (The characteristics of an automobile, for instance, might be its color, its model and the number of doors; its behaviors might be accelerating, turning and braking.) In its focus on objects, OOP provides for a more modular programming process.
But Theres More to It, Right?
Of course there is. As youll learn from picking up any book or online tutorial, learning OOP means grasping concepts such as data modeling, classes, encapsulation and inheritance. Once you start programming with an object-oriented language, the theory is transformed from something abstract into something with practical consequences. In The Object Primer, a guide to object-oriented concepts, Scott Ambler enumerates the benefits generally accorded to OOP, such as increased reusability of code, reduced maintenance and a better ability to manage complex software projects.
Do I Need to Learn OOP?
If youre a programmer, yes. Even if youre not working with an OOP language right now, you should be thinking about the day when you will. Increasingly, languages have been adding OOP capabilities. Java and C++ may be the most popular object-oriented programming languages, but new versions of other languages, or add-ons to them, are spreading OO concepts and capabilities throughout the world of programming.
Among Perl coders, object-oriented techniques are a hot topic in newsgroup discussions and covered in books such as Damian Conways Object Oriented Perl. The latest version of Visual Basic, Visual Basic.NET, is touted as being fully object-oriented. Object-oriented techniques in Cobol? No, thats not an oxymoron; check out Gene Webbs tutorial site.
If you dont learn object-oriented concepts, you risk being left behind, no matter what languages you currently know. Whats more, given the competition for programming and technology jobs, you need to set yourself apart from your peers. Learning OOP, and gaining expertise in it, perhaps by studying Unified Modeling Language, is one way to gain an edge.
Learning OO concepts is one thing. Putting them into practice is another. To learn the concepts, you will be best off developing hands-on proficiency in a particular language. Here is a selection of online resources and books to get you started:
- Teach Yourself Object-Oriented Programming in 21 Days by Tony Sintes offers accessible lessons geared for the beginner, with Java used for examples.
- Part of Suns tutorial on Java, Object-Oriented Programming Concepts, covers questions from "What is an Object?" to "How Do These Concepts Translate into Code?"
- "Java as a First Programming Language," a guide to learning Java, provides suggested resources and tutorials.
- If youve got a background in Cobol, heres a way to come up to speed on object-oriented concepts: An Introduction to Object Cobol by E. Reed Doke and Bill Hardgrave.
- Dont Fear the OOP is a tutorial on OO concepts with a catch: It shows you "why coding Java (or any other object-oriented programming) is just like writing a trashy Western novel." Amusing, yet educational, especially if you have trouble grasping OO concepts.
IT Professionals: get more resume help, salary data and industry info from Monster Technology.