ABSTRACT

Object-oriented concepts Encapsulation, information hiding, interface, service, message passing, responsibility, delegation, late binding, inheritance hierarchy, composition, and abstract class

Java concepts Subclass, superclass, reference super, access modifi ers, fi nal class, abstract method, abstract class, and interface

Programming skills Design, create, execute, and test Java programs having many classes related through superclass/subclass relationship or composition

Reliable, error-free, maintainable, and fl exible soft ware is very diffi cult to produce. Today’s soft ware systems are quite complex and no level of abstraction can eliminate the complexity completely. However, certain abstractions are more natural to human thinking compared to other forms of abstractions. In the case of object-oriented paradigm, real-world entities are modeled as objects. Th is form of abstraction enables the soft ware developer to divide the soft ware into a collection of mutually collaborating objects working toward achieving a common goal of solving the problem. In this chapter, you will explore object-oriented paradigm in a more comprehensive fashion. Further, examples and analogies presented in this chapter will help you understand the object-oriented way of developing Java programs.