Due to its inter-disciplinary nature, robotic design often involves the integration of various complex system constituents. As a result, a means to manage this complexity becomes highly desirable, if not essential. The use of object-oriented design and programming is one such means, whereby the system is decomposed into layers of object model hierarchies. The work presented here is part of a project that involved the design of a vision based robot system for planar path tracking. The object-oriented design and decomposition of the robot system software will be presented. The hierarchies of the system’s data abstractions will be analyzed and some of the advantages of using object-oriented techniques will be illustrated through simplified versions of the system’s abstractions. Examples on the concepts of encapsulation, inheritance, polymorphism, and single typing will also be discussed. The use of object-oriented programming not only provides extendable and reusable software, it also provides a better and more efficient means for software development.