6. Поля

Мы уже рассмотрели, что такое свойства объекта и умеем создавать объекты. Теперь давайте разберемся, как же добавить свойства, описанные на языке C# в код созданного класса, не забывайте, что все мы должны описывать в рамках класса.

Когда мы объясняли компьютеру, что существует такой класс «машины», в код мы добавили фигурные скобки, в которых обещали разместить все необходимые сведения.

class Machine

{

}

Пришло время добавить в код нашего класса несколько полей. Поля – это элементы информации, которые помогут нам лучше объяснить параметры класса.

Добавим в объявленный класс поля со свойствами, которые мы обозначили в предыдущем уроке.

class Machine
{
string Material;
string Color;
int Age;
int Altitude;
int Lenght;
bool HasHandWheel;
}

Этим мы объяснили компьютеру, что все объекты класса «Machine» имеют перечисленные поля. Теперь попробуем создать объект и сообщим компьютеру некоторую информацию об этом объекте, присвоив значения каждому полю.

Machine Car Car = new Machine(); 
Car.Material = «iron»; 
Car.Color = «black»; 
Car.Age = 1; 
Car.Altitude = 1,5; 
Car.Lenght = 4; 
Car.HasHandWheel = true;
Иногда случается такое, что другой класс, по ошибке может поместить в поля нашего класса неверные значения и нарушить работу создаваемой нами программы, в таком случае нам просто необходимо защитить поля нашего класса. Именно для этого существуют поля (или слова) которые мы можем дописать к каждой строчке нашего кода.

Существует три степени защищенности: «private», «protected» и «public». Private – «объекты только этого класса могут обращаться к данному полю». Public – «объекты любого класса могут обращаться к этому полю». Protected – «только объекты классов-наследников могут обращаться к полю».

Например, в классе «Machine» мы хотим, чтобы поля «материал» и «цвет» были доступны для любого класса, поля «возраст», «длинна» и «высота» были доступны только для объектов этого класса, а поле наличия или отсутствия руля, было доступно только для объектов, которые будут входить в классы-наследники нашего класса.

class Machine 
public string Material; 
public string Color; 
private int Age; 
private int Altitude; 
private int Lenght; 
protected bool HasHandWheel; 
}

Если мы не станем задавать в коде данные поля, то программа по умолчанию выставит значение «private» и компьютер все поля будет воспринимать закрытыми, хотя нам может понадобиться оставить какие-то поля открытыми.

Видео YouTube


Comments