Jump to content

enums?


Gurzi

Recommended Posts

Depois de ler vários artigos ainda me custa um bocado a perceber realmente para que serve uma enum.

Já percebi que vieram substituir as constantes mas parece-me muito mais complicado de ser trabalhado.

Vou deixar aqui o último código que estive a analizar :

enum CoffeeSize
{
BIG(8), HUGE(10), OVERWHELMING(16);

CoffeeSize(int ounces)
{
	this.ounce = ounces;
}

private int ounce;

public int getOunces()
{
	return ounce;
}
}

public class Coffee
{
CoffeeSize size;

public static void main(String[] args)
{
	Coffee drink1 = new Coffee();
	drink1.size = CoffeSize.OVERWHELMING;

	System.out.println("The Size of drink1 is " + drink1.size.getOunces();
}
}

Análise:

-> As conclusões que tirei foi que com uma enum podemos especificar um conjunto único de elementos que uma certa varíavel pode ter.

É este o grande objectivo de uma enumeration??

Questão : Porque é que o constructor do CoffeeSize não tem modifier ??? não tendo modifier é default ??

Cumps ! :fartnew2:

Link to comment
Share on other sites

Eu não vejo as enumerações como constantes mas mais como uma forma de representar um conjunto de dados finito.

Torna o código mais legível e de mais fácil manutenção do que se tivesse que representar esse conjunto com um tipo de dados primitivo.

Preferes representar os Booleanos como True/False ou 1/0?

O mesmo se pode aplicar aos dias da semana, naipe de cartas, etc...

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Link to comment
Share on other sites

Análise:

-> As conclusões que tirei foi que com uma enum podemos especificar um conjunto único de elementos que uma certa varíavel pode ter.

É este o grande objectivo de uma enumeration??

Questão : Porque é que o constructor do CoffeeSize não tem modifier Huh? não tendo modifier é default ??

Não tenho a certeza mas deve ser default porque não se trata de uma class mas de um novo "tipo" de dados como o inteiro ou a string, logo tal como os de base devem ser sempre públicos, depois tens os outros métodos que já podes definir.

Penso eu de que...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.