<p>Full file at http://testbank360.eu/solution-manual-object-oriented-design-using-java-1st-edition-
Exercises and Solutions
1. Briefly describe how OO programming, as compared to non-OO programming, makes it easier
to write elegant software, as discussed in Section 1.3 of Chapter 1.
usability – OO programs are as usable as other kinds of code—it doesn't really make a
significant difference here
completeness – ditto
robustness – OO doesn't affect robustness significantly, unless the particular OO language has
features designed to help you handle unusual situations by, for example, throwing
efficiency – OO languages are sometimes a little slower than non-OO languages (from method
call overhead) but not enough to make a huge difference in most programs.
scalability – OO code can be as scalable or not scalable as other code. Scalability is often
affected by the algorithms and data structures you chose, regardless of the language you
readability – OO is often a more natural way to think about a problem, which makes code
much more readable. Don't be mislead, though; it’s still very easy to write an
unreadable program in an OO language.
reusability – OO is good for this; you easily separate pieces of the program, namely classes,
and apply them to different tasks in other programs.
simplicity – It depends on what you're writing. Large OO programs can be as simple or
complex as large non-OO programs, but for small programs, it can seem unnecessarily
complicated to go through the bother of creating a class (say for a simple “Hello
World” program) in languages such as Java. Other OO languages are better at keeping
small programs simple.
maintainability – OO is pretty good at this; it comes with modularity of OO code; if things are
crafted into separate classes and packages, it is far easier locate and fix/replace the part
that isn't working. If code is not modular, then an error can propagate itself into places
you would never expect, and fixing