Свойства
Привет всем! Сегодня предлагаю разобраться со свойствами в ООП C#.
И так, свойства обеспечивают простой доступ к полям классов и структур, узнать их значение или выполнить их установку.
class Pets
{
private string breed;
public string Breed
{
get
{
return breed;
}
set
{
breed = value;
}
}
}И так, мы имеем private переменную в классе Pets и public функцию. Через функцию Breed мы можем задать значение для приватной переменой( при помощи свойства set ) и вывести значение этой переменной( использую свойство get )
Давайте попробуем воспользоваться
class Program
{
static void Main(string[] args)
{
Pets dog = new Pets();
dog.Breed = "Dog";
Console.WriteLine(dog.Breed);
}
}Здесь мы как всегда создаем экземпляр класса, через dog.Breed сначала задаем значение private переменной, а второй раз используя этот метод выводим значение в консоль.
Сейчас это выгладит как бесполезное написание кода, но давайте представим что нам нужно написать программу, отбирающую на конкурс всех кроме крыс.
class Pets
{
private string breed;
public string Breed
{
get
{
return breed;
}
set
{
if (value == "rat")
{
Console.WriteLine("На конкурс не принимаются крысы");
}
else
{
breed = value;
}
}
}
}В данном случае при установку значения мы проверяем, что он соответствует нашему условию.
Если в классе не указано свойство set, то поле будет доступно только для чтения. В обратном случае, поле является доступным только для записи.
На сегодня это все, если у вас остались вопросы - можете писать в лс.
Удачи программисты!