Skip to main content

Practical Object-Oriented Development in C++ and Java

Practical Object-Oriented Development in C++ and Java

Cay S. Horstmann

ISBN: 978-0-471-14767-1

Apr 1997

576 pages

Select type: Paperback

Product not available for purchase


Practical OO development tips for the C++ and Java programmer

Practical Object-Oriented Development in C++ and Java offers advice on real-world ways to use these powerful programming languages and techniques. Using the Unified Modeling Language (UML) methodology, expert Cay S. Horstmann gives you clear, concise explanations of object-oriented design, C++, and Java in a way that makes these potentially daunting operations more accessible than they've ever been before. Horstmann compares and contrasts features of C++ and Java to give you a deeper understanding of OO design. He separates the genuinely useful C++, Java, and UML features from the less effective and potentially harmful ones.

Horstmann shows you how to determine the best programming practice for whatever application you're in; provides the kind of eye-opening design tips and style rules that can only come from experience; and demystifies advanced topics like frameworks and object persistence.

Dozens of illuminating programming examples are readily accessible through the accompanying Web site. Useful code is available for smart pointers, easy output formatting in C++ and Java, a set of classes that makes STL safe to use, and a nifty utility that automatically extracts header files. This unique book:
* Offers over 100 practical design hints for good class design
* Covers the essential OO features of Java 1.1-like serialization and reflection
* Uses the C++ Standard Template Library (STL) throughout
* Covers CRC cards in addition to UML
Objects and Classes.

A Crash Course in Basic C++.

Implementing Classes.


Object-Oriented Design.

Programming by Contract.



A Crash Course in Java.

The Object Models in C++ and Java.

Names: Scope, Access, and Conflict Control.

Operator Overloading.

Streams and Persistence.

Memory Management.

Parameterized Classes.

Exception Handling.

Class Library Design.

Multiple Inheritance.




Companion Site

View the companion site.