VirQ. Поля классов в C#
Язык C# входит в ТОП-5
самых популярных языков
программирования
Главная /
Учебник
/
Поля классов
Статей на сайте: 61

Поля классов


Любой класс внутри себя должен хранить какую-нибудь информацию. Текстовую, числовую, булеву.
Например, животное имеет кличку, электрический прибор название компании, габариты и напряжение.
Прямоугольник имеет размер двух сторон.
Человек имеет рост, вес, имя, фамилию.
И т.д.

Класс - это шаблон объекта. Ведь в программе может описываться много разных животных, эл.приборов, геометрических фигур, людей. Задавая я это в шаблоне, мы получаем образец, по которому будем видеть данные о конкретном объекте.

Создадим класс "прямоугольник" c конструктором:
[code] class Rectangle { public double a; public double b; public Rectangle(double sideA, double sideB) { a = sideA; b = sideB; } } [/code]
Теперь можно создать, например, 3 прямоугольника на основе этого класса:
[code] Rectangle r1 = new Rectangle(34.8, 16.9); Rectangle r2 = new Rectangle(123, 100); Rectangle r3 = new Rectangle(29.4, 71.6); [/code]
Теперь по коду
[code] r1.a [/code]
мы получим значение стороны А первого прямоугольника. Это 34.8
В данном случае "а" и "b" - это поля класса.

Больше параметров было бы в классе "Паспорт". Там больше данных:
[code] class Passport { public int seria; public int number; public string surname; public string name; public string dateBirth; public Passport(int ser, int num, string snm, string nm, string dt) { seria = ser; number = num; surname = snm; name = nm; dateBirth = dt; } } [/code]
И для ввода данных о человеке используем:
[code] Passport p = new Passport(1111, 222222, "Иванов", "Александр", "26.04.1986"); [/code]
Однако с такими данными необходимо работать через фильтр, используя свойства
Дело в том, что поле, это просто такая возможность хранить данные. Любые, соответствующие типу (double, string). Не более. Например:
[code] Passport p = new Passport(1, 2, "Иванов", "", "226.44.-2876"); [/code]
такая строка содержит кучу ошибок, однако компьютер это воспримет и сохранит, т.к. ему не указано, что серия может быть от 1000 до 9999, что имя и фамилия не должны быть пустыми и определённые правила хранения даты.
В данном случае string использовался для наглядности. А так, конечно, надо использовать тип для работы с датой DateTime

Дополнительная информация о том, как вывести результат в консоли или WinForm