View Full Version : atributos de uma classe


Zepiroca
08-06-2007, 21:57
Ja agora sera que me podem dar uma ajuda noutra coisa.
É assim eu tenho de criar uma classe carta mas nao sei bem komo a fazer, pois eu seu que ela vai ter como atributos naipe, valor e numero
Mas o meu problema é como a criar. Eu andei a pesquisar e vi k em mtos exemplos mas ainda vikei mais confuso

MadOnion
09-06-2007, 17:11
Não abras muitos tópico sobre o mesmo, usa um apenas. Um moderador que faça merge das 3 threads.

Precisas de 3 atributos como já disseste, e define os tipos dos atributos. Se quiseres que a classe seja imutável(que não pode ser alterável), não coloques setters. Por outro lado, se a ideia da classe é ser mutável(pouco provavel numa carta), coloca setters. Não te esqueças também de um toString() para uma representação textual da carta, dá sempre jeito.

Algo do tipo:

public class Carta {
private atributo1, atributo2, atributo3;
public Carta (tipo atr1, tipo atr2, tipo atr3) {
this.atributo1 = atr1;
this.atributo2 = atr2;
this.atributo3 = atr3;
}

public tipo getNaipe() {
return atributo1;
}
etc etc...

public String toString() {

return atributo1 + " : " + atributo2 + " : " + atributo3;
}
}

hYpe
09-06-2007, 20:43
No semestre passado fiz o jogo da Sueca em Java... Com interface gráfico.

Tens ai a classe Carta que usei:


public class Carta {
// Tipos enumerados de possiveis cartas
public static enum Tipo { Duque, Terno, Quadra, Quina, Sena,
Oito, Nove, Dez, Dama, Valete, Rei, Manilha, As };
// Tipos enumerados de possiveis naipes
public static enum Naipe { Copas, Ouros, Espadas, Paus };
/* Tipo da instância de carta */
private Tipo t; private Naipe n;
/** Creates a new instance of Carta */
public Carta(Tipo t, Naipe n) {
this.t = t; this.n = n;
}
/** Cria uma nova carta baseada numa string. ex: "As de Ouros" */
public Carta(String s) {
String [] ls = s.split(" ");
this.t = Tipo.valueOf(ls[0]);
this.n = Naipe.valueOf(ls[2]);
}
/** Converte uma carta numa string. ex: "As de Ouros" */
public String toString() {
return t.toString() + " de " + n.toString();
}
/** Devolve o tipo da carta */
public Tipo getTipo() {
return t;
}
/** Devolve o naipe da carta */
public Naipe getNaipe() {
return n;
}
}