This course
note continues the development of
programming and problem-solving skills, focusing on object-oriented programming
and design (OOP/OOD), and improved programming practices. Topics include: an
introduction to the Java programming language, encapsulation and information
hiding, proper program and class design, inheritance, polymorphism, and
generics. Other topics may be added, time permitting.
Author(s): University of Maryland, Baltimore County
Carl Erickson's
note on Object-Oriented Programming introduces the OOP paradigm in detail. It
first gives an explanation of Motivation for Object-Oriented Programming and The
Object-Oriented Paradigm, including insights as to why OOP is effective. The
note discusses essential concepts of OOP: Abstraction, Identity, Encapsulation,
and Modularity, object-oriented messaging, and object-oriented hierarchy. It
also discussed naming conventions, object-oriented typing, and concurrency and
persistence. Other heads-up are on practical aspects of OOP: the Object-Oriented
Development Process and ObjectOriented Analysis Techniques. It also provides
tools for effective design through the use of UML notation, CRC cards, and
object-oriented class relationships. In simple terms, this can be a useful
resource to understand the theoretical and practical aspects of OOP regarding
its pitfalls and best practices.
Object-oriented design and analysis with the use of UML is dealt with
in detail in the book. First of all, the introduction to UML is given, and then
it proceeds further with some basic and advanced structural modeling using UML.
The class and object diagrams are discussed in detail, after which the
behavioral modeling both at basic and advanced levels is explained. It also
provides an architectural modeling facility in the book with extensive case
studies, like a unified library application and an ATM application. Through
these applications, the book gives them much insight into applying theoretical
concepts in practice; therefore, it is an essential guide to understand how to
apply OOD principles in real-life projects.
Author(s): RGM College Of Engineering And
Technology