Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #10856

Design Question

From Novice <novice@example..com>
Newsgroups comp.lang.java.programmer
Subject Design Question
Date 2011-12-19 00:13 +0000
Organization Your Company
Message-ID <Xns9FBFC38D782BCjpnasty@94.75.214.39> (permalink)

Show all headers | View raw


I am trying to make sure I have the right idea in designing a class for a 
game I am writing.

The game is capable of showing the score either during the game or at the 
end. In both cases, I simply display a dialog showing the score. If the 
game isn't over yet, I entitle the dialog "Interim Score". If the game is 
finished, I entitle the dialog "Final Score". When the player is given the 
interim score, the button at the bottom says "Quit" and he is returned to 
the game when he presses it. When the player is given the final score, the 
button at the bottom says "Exit" and the game itself ends when he presses 
it. 

At the moment, I have a single class that gets invoked to show both the 
interim score and the final score. That class is passed a boolean which 
indicates if it is an interim score or a final one. Based on that boolean, 
the title of the dialog is set appropriately and the button text is set to 
either Quit or Exit. The actionPerformed() doesn't change: Quit causes a 
dispose() and Exit causes a System.exit(0).

While the dialog is simple and works just fine, I suspect I'm violating 
some OO principles by making the behavior of the class change depending on 
what kind of score is being shown. 

Am I right in thinking that I should actually have an abstract class, maybe 
called AbstractScore, and that it should have two subclasses, Interim Score 
and FinalScore? AbstractScore could have all of the "common code" in it 
while InterimScore and FinalScore could each do the stuff that was unique 
to itself, like setting the Title appropriately, setting the text of the 
button, and reacting to the appropriate button in actionPerformed(). In 
other words, the actionPerformed() in InterimScore would only react to Quit 
while the actionPerformed() in FinalScore would only react to Exit. Then, 
my game should instantiate InterimScore during the game and FinalScore when 
the user wants to end the game. 

Or is there a better way?  
-- 
Novice

Back to comp.lang.java.programmer | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Design Question Novice <novice@example..com> - 2011-12-19 00:13 +0000
  Re: Design Question Arne Vajhøj <arne@vajhoej.dk> - 2011-12-18 19:24 -0500
    Re: Design Question ilAn <idonot@wantspam.net> - 2011-12-20 16:47 +0200
      Re: Design Question Arne Vajhøj <arne@vajhoej.dk> - 2011-12-20 10:39 -0500
  Re: Design Question markspace <-@.> - 2011-12-18 19:23 -0800
    Re: Design Question Novice <novice@example..com> - 2011-12-19 13:26 +0000
    Re: Design Question Novice <novice@example..com> - 2011-12-19 13:28 +0000
  Re: Design Question Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-12-19 07:16 -0400
    Re: Design Question Novice <novice@example..com> - 2011-12-19 13:49 +0000
      Re: Design Question Martin Gregorie <martin@address-in-sig.invalid> - 2011-12-19 22:22 +0000
        Re: Design Question Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-12-19 20:13 -0400
          Re: Design Question Lew <lewbloch@gmail.com> - 2011-12-20 07:37 -0800
            Re: Design Question Arne Vajhøj <arne@vajhoej.dk> - 2011-12-20 10:42 -0500
              Re: Design Question Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-12-20 17:46 -0400
        Re: Design Question Martin Gregorie <martin@address-in-sig.invalid> - 2011-12-20 20:40 +0000
  Re: Design Question Novice <novice@example..com> - 2011-12-19 13:34 +0000
  Re: Design Question Roedy Green <see_website@mindprod.com.invalid> - 2011-12-19 06:25 -0800
  Re: Design Question Gene Wirchenko <genew@ocis.net> - 2011-12-19 11:38 -0800
    Re: Design Question Lew <lewbloch@gmail.com> - 2011-12-20 07:42 -0800
      Re: Design Question Gene Wirchenko <genew@ocis.net> - 2011-12-20 11:51 -0800
        Re: Design Question soulspirit@gmail.com - 2011-12-20 14:55 -0800
          Re: Design Question Gene Wirchenko <genew@ocis.net> - 2011-12-20 15:25 -0800
            Re: Design Question soulspirit@gmail.com - 2011-12-21 01:11 -0800
              Re: Design Question Gene Wirchenko <genew@ocis.net> - 2011-12-21 11:08 -0800
                Re: Design Question soulspirit@gmail.com - 2011-12-21 15:27 -0800
                Re: Design Question Gene Wirchenko <genew@ocis.net> - 2011-12-21 18:06 -0800

csiph-web