Re: Class hierarchy uncertainty
"Yuriy_Ivanov" <phantom_enigma@nospamhotmail.com> wrote in message
news:de8c6642cb4a67a5c8e87ec937741ac3@localhost.talkaboutprogramming.com...
I'm having a bit of trouble working out a correct hierarchy for my Java
classes.
Let's say simply my program is for crate construction for customers. It
works out which type of crate (out of 6 possible types) would be best
based on what the customer has specified.
It might help if you could explain what it is that makes the 6 types of
crates different.
I have:
A Main class for an interface - customer input prompt (type of crate,
width length etc) and a print out of the best crate for the customer.
"interface" is a keyword in Java and has a very specific meaning in
object oriented design, so perhaps it's better if you don't name your main
class that. Perhaps you could name it "Main" intstead of "Interface".
A crateType class for storing crate variables, a few method calls and
variable calculations (of which would be the best type).
I want to make one of my classes abstract and I aim to use an applet for
customer inputs to make it a more friendly interface.
So far this is my design:
http://img367.imageshack.us/img367/2821/classesti5.gif
(Not completed as I'm not sure where to put all the variables/methods
until my hierarchy is sorted.)
I made the Type class abstract and my main class is my interface.
As I'm not too familiar with applets, I read that you need to extend the
whatever class you're using for an applet with the Abstract class.
So I can't do 'public class Interface extends Applet' because I've already
got:
'public class Interface extends crateType'
and
'public abstract class crateType'
If I separate my main class from my interface class, would that work?
But then what would my main class do?
Have your main class extend Applet, and not extend crateType. And try to
have your class names start with an uppercase letter (e.g. "CrateType"
instead of "crateType"). And if instances of your class describe a crate,
rather than describing a type of crate, consider calling it "Crate" rather
than "CrateType".
Read a tutorial on developing applets at
http://java.sun.com/docs/books/tutorial/deployment/applet/index.html
- Oliver