The Essence of Object-Oriented Programming with Java(TM) and UML

The Essence of Object-Oriented Programming with Java(TM) and UML
Authors
Bruce E. Wampler
ISBN
0201734109
Published
05 Jan 2002
Purchase online
amazon.com

Not only explains the essence of the object oriented paradigm, but also places it in the context of real-world application development, so you can reap the concrete benefits of programming with objects. Softcover.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

Hafed BENTEFTIFA said
I have gone through your book entitled "The essence of
object-oriented programming with java and UML" and I
must say that you wrote a very fine book.

To explain my point and let you know what is good
about it from my own perspective, I find it not quite
advanced in its treatment of the JAVA language but at
the same time it gives you a sense of knowing right
from the beginning the very essence of the language.
In addition, introducing in parallel the UML
methodology helps a lot to understand the software
"production" requirements.

I have gone through several books for the last 5
months. Each pretending to explain once and for all
JAVA or UML. But your book is the only one I found so
complete in its treatment of both OO, JAVA and UML
(even though it is only 290 pages long !).

Again, thanks for such a fine book and my best wishes
for all your future endeavors.

Charles Ashbacher said
The world of programming is changing, and in my opinion, the change is welcome. The Unified Modeling Language or UML used to be reserved for advanced programmers in large projects. However, the basics of the UML are easy to understand and provides an excellent way to represent classes and their interactions. Therefore, more authors of introductory programming texts are using the UML in their books. This is a welcome addition, and I am now puzzled when I see a book where it is not used. I do not understand why anyone would use the standard bubble tree diagram to describe inheritance when a UML diagram could be used.
The next question to settle then becomes how well the UML is used and integrated into the presentation of the principles of object-oriented programming. My response to that question is also an affirmative. Wampler uses the combination of UML and Java to explain the fundamentals of object-oriented programming in a way that anyone with programming experience can follow. He also does not commit the error of using too much code in the book. Code is used only when necessary and only enough to make the crucial point. If there is a flaw, it is that there is not enough code in the book. There are times when I thought that an extra example would have been beneficial. However, that is a debatable point and not a serious flaw.
If I were teaching an introductory course in object-oriented programming, this is the text I would use. The emphasis in such courses should be on the principles of object-oriented programming and not the features of a language. In my experience, students quickly learn the syntax of a language, but the organizational strategies used to make programs comes much more slowly. Wampler takes the right approach and I recommend this book to anyone who wants to learn object-oriented programming.

Charles Ashbacher said
The world of programming is changing, and in my opinion, the change is welcome. The Unified Modeling Language or UML used to be reserved for advanced programmers in large projects. However, the basics of the UML are easy to understand and provides an excellent way to represent classes and their interactions. Therefore, more authors of introductory programming texts are using the UML in their books. This is a welcome addition, and I am now puzzled when I see a book where it is not used. I do not understand why anyone would use the standard bubble tree diagram to describe inheritance when a UML diagram could be used.
The next question to settle then becomes how well the UML is used and integrated into the presentation of the principles of object-oriented programming. My response to that question is also an affirmative. Wampler uses the combination of UML and Java to explain the fundamentals of object-oriented programming in a way that anyone with programming experience can follow. He also does not commit the error of using too much code in the book. Code is used only when necessary and only enough to make the crucial point. If there is a flaw, it is that there is not enough code in the book. There are times when I thought that an extra example would have been beneficial. However, that is a debatable point and not a serious flaw.
If I were teaching an introductory course in object-oriented programming, this is the text I would use. The emphasis in such courses should be on the principles of object-oriented programming and not the features of a language. In my experience, students quickly learn the syntax of a language, but the organizational strategies used to make programs comes much more slowly. Wampler takes the right approach and I recommend this book to anyone who wants to learn object-oriented programming.

Tony Montana said
Learn the basics of MVC and UML in a movie catalog application. Clear representation of fundamentals of OOP.

R S Shaffer said
I really enjoyed this book. It was a fairly swift read and a good introduction to object-oriented programming and methodologies. It could have been better, imo. I recommend it, in spite of the criticisms below :).

I wish the author had spent more time explaining how the example programs integrate with the MVC framework which he provided. Unfortunately he doesn't even provide that information with UML diagrams, much less discuss it in the text. It would also have been nice to have some discussion of how to extend the framework.

In chapter 6, it was a bit confusing when he used the class MovieModel to model not a movie but rather an application to catalog movies.

The included CD-ROM was missing the source code file for Listing 5.10, so I had to type in in by hand. Unfortunately the listing in the book has a couple of mistakes. The author's web site does not have the code available. Here's the corrected code:

I apologise for the lack of formatting. Space constraints.

/*
* WmvcChkMenuItemCtl - implements JCheckBoxMenuItem controller
* (c) 2001, Bruce E. Wampler
*/
import java.awt.*;import java.awt.event.*;
import javax.swing.*;import javax.swing.event.*;
public class WmvcChkMenuItemCtl extends WmvcController {
private JMenu myMenu; private JCheckBoxMenuItem checkBoxItem;
// Constructor for JMenu item: JCheckBoxMenuItem
// public WmvcController( JMenu menu,
public WmvcChkMenuItemCtl(JMenu menu,String text,String icon,
char mnemonic,String accel,boolean checked,WmvcExecutor wExec )
{super((JComponent)new JCheckBoxMenuItem(), null, wExec); myMenu = menu;
//checkBoxMenuItem = (JCheckBoxMenuItem)myComponent;
checkBoxItem = (JCheckBoxMenuItem)myComponent;
if (text != null)checkBoxItem.setText(text);
if (mnemonic != ' ' && mnemonic != 0)checkBoxItem.setMnemonic(mnemonic);
if (accel != null){KeyStroke ks = KeyStroke.getKeyStroke(accel);
checkBoxItem.setAccelerator(ks);}
if (icon != null){Icon theIcon = new ImageIcon(icon);
checkBoxItem.setIcon(theIcon);}
checkBoxItem.setState(checked); checkBoxItem.addActionListener(this);
checkBoxItem.addItemListener(this); myMenu.add(checkBoxItem);}
public boolean getState(){return checkBoxItem.getState();}
public void setState(boolean checked){checkBoxItem.setState(checked);}
public void setEnabled(boolean enable){checkBoxItem.setEnabled(enable);}
public JMenu getJMenu(){return myMenu;}
public JCheckBoxMenuItem getJCheckBoxMenuItem(){return checkBoxItem;}}

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“If Java had true garbage collection, most programs would delete themselves upon execution.” - Robert Sewell