killer (Normal User)
Expert
Messaggi: 217
Iscritto: 19/07/2009
|
Questo topic è stato chiuso dal moderatore salve a tutti..come da 'oggetto' avrei intenzione di creare un giochino sulla battaglia navale..sto cominciando con la creazione della classe Nave
quindi ...
public abstract class Ship{
protected Imge image; // una barca debba essere vista
protected Dimension dimension; //una barca debba avere una sua dimensione anche se potrei pure ometterlo per adesso.
protected String name;
protected Point coord;//le cordinate su griglia o semplicemente superfice del frame
protected Artillery weapon; // debba avere una sua artiglieria
protected NavalDamage damage;//debba avere un indice che tiene traccia del danno subito.
public Ship(Image image,String name,Dimension dimension,Point coord){
this.image=image;
this.name=name;
this.dimension=dimension;
this.coord=coord;
}
}
innanzitutto è bene definirla abstract?
Cioè io mi sono posto una serie di domande prima di definirla tale:
1)Esistono vari tipi di navi? suppongo di si..quindi ho pensato di creare 6 navi(classi figlie[subclasses]) che derivano da Ship ereditandone i metodi.
i prototipi dei metodi della classe Ship che ho scritto sono i seguenti:
public abstract void setImage(Image image);
//metodo condiviso con tutte le navi perche ognuna di essa debba avere una sua specifica immagine
public abstract void setCoord(Point coord);
//metodo condiviso con tutte le navi perche ognuna di essa debba avere una posizione x,y su piano diversa...
public abstract void setDimension(Dimension dimension);
//........ognuna debba avere una dimensione ...
public abstract void setName(String name);
//.......ognuna debba avere un nome
public abstract void setArtillery(int constantType)
//.....ognuna debba possedere una artiglieria
poi per quanto riguarda i metodi non astratti ho pensato alle vari get..
public String getName(){
return name;
}
public Image getImage(){
return image;
}
public Dimension getDimension(){
return dimension;
}
public Artillery getArtillery(){
return weapon;
}
public NavalDamage getDamage(){
return damage;
}
Bene..adesso vorrei capire se ce qualcosa che non va nella nella logica e nella struttura fisica della classe e come posso disegnare la nave su un jPanel..
avrei prensato ad una classe che estende jPanel
e nel costruttore ricevere l'oggetto Ship.
che ne dite ? mi date una dritta ? un riferimento logico ?! attendo una vostra risposta.grazie
|