Опубликован: 14.12.2009 | Уровень: для всех | Доступ: платный
Лекция 2:

Учимся общаться с компьютером

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Свойства объектов

Если бы я попросил вас перечислить несколько свойств животных, то список мог быть следующим:

  • Вид животного (Kind of animal).
  • Рост (Height).
  • Длина (Length).
  • Количество лап (Number of legs).
  • Окрас (Color).
  • Наличие хвоста (Has a tail).
  • Является ли млекопитающим (Is a mammal).

При рассмотрении свойств этих животных вы можете присвоить значения каждому из них:

  • Kind of animal = "Cat" ("Кот").
  • Height = 50 cm (большой котяра!).
  • Length = 110 cm (это рысь скорее, а не домашняя кошка!).
  • Number of legs = 4.
  • Color = "Black" (черный).
  • Has tail = true (истина).
  • Is mammal = true (истина).

В C# эти свойства называются полями. (Слово "свойства" используется для несколько иной цели, но здесь мы не станем вдаваться в подробности.)

Теперь рассмотрим нечто, о чем в реальной жизни беспокоиться не приходится, но в мире компьютеров оказывается очень важным. Обратите внимание: все указанные выше свойства кажутся однородными, однако фактически существуют разные типы полей. Приведем несколько примеров.

  • Значения полей height, Length и number of legs являются числами. Как правило, компьютер использует эти значения для выполнения математических операций.

В задаче с бананами поля можно было бы назвать так: numberOfBananas ("количествоБананов"), numberOfPeople ("количествоЛюдей") и numberEachOneGets ("количествоПолучаемоеКаждым"). Они должны иметь числовой тип, поскольку с их помощью мы выполняем некие математические вычисления.

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

  • Поля kindOfAnimal и color относятся к строковому типу. Значением таких полей может быть любой текст. В нашем примере значения задаются словами "cat" и "black", заключенными в кавычки.

    Надо отметить, что в строковом поле (в строке) текст может содержать числа. Например, в тексте "Сегодня это уже 17-й крокодил, которого я вижу!" присутствуют буквы, пробелы, числа и знаки препинания, но с числами, находящимися в строке, нельзя выполнять математические операции.
  • Поле типа hasTail всегда будет принимать значение ИСТИНА или ЛОЖЬ ( true/false ), точно так же, как любые поля типа ДА или НЕТ ("yes/no"). Такие поля относятся к логическому типу.

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

Тип "String" (строка)

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

string kindOfAnimal;

Пока мы не задаем значение в этом поле, а всего лишь сообщаем, с каким типом данных будем работать, и присваиваем полю имя. Поставьте себя на место компьютера и представьте, как бы вы отреагировали, если бы человек написал для вас следующее:


Числовые типы

Извещая компьютер о том, что значение поля нужно рассматривать как число, необходимо выбрать один из нескольких числовых типов, известных в языке C#. Наиболее распространенный — integer. Из курса математики вы должны знать, что это не что иное, как целое число, которое может быть отрицательным, положительным или нулем.


То, что значение поля должно быть целым числом, проще всего сообщается так:

int numberOfLegs;

А вот что подумает в этом случае наш цифровой друг:


Тип "Boolean" (логическое значение)

Если вам известно, что некоторое поле будет всегда принимать значения "true" ("истина") или "false" ("ложь") и ничего другого, то использование в C# поля типа "true/false" может оказаться полезным. Это самый простой из всех типов, хотя такие поля носят довольно странное название — булевые (Boolean), по имени математика Джорджа Буля.

Извещая компьютер о том, что поле "hasTail" должно принимать значения "true/false", используйте следующий код:

bool hasTail;

Машина будет думать следующим образом:


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

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Алексей Фролов
Алексей Фролов
Кристина Горбунова
Кристина Горбунова
Robert Hirsch
Robert Hirsch
Германия, Worzeldorf
Илья Фурса
Илья Фурса
Россия, Самара