Synopses & Reviews
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
Includes bibliographical references (p. 549-550) and index.
About the Author
CAY S. HORSTMANN is Professor of Computer Science at San Jose State University. He is a consultant for Internet commerce and a columnist for C++ Reports. He also teaches professional training courses for Technology Exchange.
Table of Contents
Objects and Classes.
A Crash Course in Basic C++.
Programming by Contract.
A Crash Course in Java.
The Object Models in C++ and Java.
Names: Scope, Access, and Conflict Control.
Streams and Persistence.
Class Library Design.