Да си припомним: какво са класовете и обектите?



страница69/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   65   66   67   68   69   70   71   72   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
[] enum

{

constant1[=value1] [, constant2[=value2] [, ... ]]

}

Съответно value1, value2, и т.н. трябва да са цели числа.

За да добием по-ясна представа за току-що дадената дефиниция, нека разгледаме следния пример: нека имаме клас Coffee, който представя чаша кафе, която клиентите поръчват в някакво заведение:



Coffee.cs

public class Coffee

{

public Coffee()



{

}

}



В това заведение, клиентът може да поръча различно количество кафе, като кафе-машината има предефинирани стойности – "малко" – 100 ml, "нормално" – 150 ml и "двойно" – 300 ml. Следователно, можем да си декларираме един изброен тип CoffeSize, който има съответно три константи – Small, Normal и Double, на които ще присвоим съответства­щите им количества:

CoffeeSize.cs

public enum CoffeeSize

{

Small=100, Normal=150, Double=300



}

Сега можем да добавим поле и свойство към класа Coffee, които отра­зяват какъв тип кафе си е поръчал даден клиент:

Coffee.cs

public class Coffee

{

public CoffeeSize size;



 

public Coffee(CoffeeSize size)

{

this.size = size;



}

 

public CoffeeSize Size



{

get { return size; }

}

}


Нека се опитаме да отпечатаме стойностите на количеството кафе за едно нормално кафе и за едно двойно:

static void Main()

{

Coffee normalCoffee = new Coffee(CoffeeSize.Normal);



Coffee doubleCoffee = new Coffee(CoffeeSize.Double);

 

Console.WriteLine("The {0} coffee is {1} ml.",



normalCoffee.Size, (int)normalCoffee.Size);

Console.WriteLine("The {0} coffee is {1} ml.",

doubleCoffee.Size, (int)doubleCoffee.Size);

}


Како компилираме и изпълним този метод, ще бъде отпечатано следното:

The Normal coffee is 150 ml.

The Double coffee is 300 ml.



Употреба на изброените типове

Основната цел на изброените типове е да заменят числените стойности, които бихме използвали, ако не съществуваха изброените типове. По този начин, кодът става по-изчистен и по-лесен за четене.

Друго много важно приложение на изброените типове е принудата от страна на компилатора да бъдат използвани константите от изброения тип, а не просто числа. По този начин ограничаваме максимално бъдещи грешки в кода. Например, ако изпол­зваме променлива от тип int вместо от изброен тип и набор константи за валидните стойности, нищо не пречи да присвоим на променливата примерно -6723.

За да стане по-ясно, нека разгледаме следния пример: да създадем клас, който представлява калкулатор за пресмятане на цената на всеки от видовете кафе, които се предлагат в заведението:





Сподели с приятели:
1   ...   65   66   67   68   69   70   71   72   ...   84




©obuch.info 2024
отнасят до администрацията

    Начална страница