Приветствую Вас ГостьСуббота, 18.05.2024, 17:22

Light Midnight Inc.


Каталог статей

Главная » Статьи » Программирование » C#

C# для вундеркиндов. Часть 2.2. Учимся общаться с компьютером

Строительный блок: Объекты

Объекты — это определенные отдельные элементы некоторого класса.

Класс просто описывает «на что похожи эти объекты» в общем. Таков основной план создания объекта.

class Animal

{

}

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

Имя класса

Имя объекта

Animal

percyThePorcupine;

Этот процесс называется «объявлением объекта».

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

percyThePorcupine = new Animal();

В этом примере «percyThePorcupine» теперь является экземпляром «Animal» или можно сказать, что percyThePorcupine это «объект» типа «Animal». Но в любом случае теперь нам точно известно, что мы говорим об определенном объекте класса «Animal». Это называется «созданием объекта».

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

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

  • Вид животного (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# эти свойства обычно называются полями. (Слово «свойства» используется несколько для другой цели, и здесь мы не станем вдаваться в подробности).

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

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

    Эти поля можно было бы назвать следующим образом: «numberOfBananas», «numberOfPeople» и «numberEachOneGets». Они должны иметь числовой тип, поскольку нам необходимо выполнить с ними некий расчет при помощи математического деления.

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

  • Значения полей kind of animal и color состоять из букв, скрепленных вместе — в этом случае буквы составляют слова «cat» и «black».

    При этом стоит отметить, что и строковые поля могут также содержать числа. Например, строковое поле может содержать следующий текст: «Сегодня это уже 17 крокодил, которого я вижу!». В этой строке присутствуют буквы алфавита, пробелы, числа и знаки препинания. Но с числами в строке нельзя выполнять математические операции.

  • Поле типа has tail всегда будет принимать значение ИСТИНА или ЛОЖЬ (true/false), также как и любые поля типа ДА или НЕТ («yes/no»).

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

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

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

 string kindOfAnimal;
 

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

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

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

Простой способ дать компьютеру понять, что значение поля должно быть целым числом, следующий:

 int numberOfLegs;
 

А так будет думать наш цифровой друг...

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

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

Чтобы сообщить компьютеру, что поле «hasTail» должно принимать значения «true/false», используйте следующий код:

 bool hasTail;
 

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

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

Добавление полей в класс

Ранее, когда мы сообщили компьютеру о классе животных, мы просто назвали класс «Animal», включили в код фигурные скобки и пообещали, что позже расскажем о нем больше, а точнее о том, что находится внутри него:

 class Animal
 {
 ...
 }
 

Ну что же, теперь мы готовы к этому. Давайте добавим несколько полей в определение класса.

 class Animal
 {
 string kindOfAnimal;
 string name;
 int numberOfLegs;
 int height;
 int length;
 string color;
 bool hasTail;
 bool isMammal;
 bool spellingCorrect;
 }
 

(Чтобы код был аккуратным и легкочитаемым, обычно создаются отступы полей, как показано выше. Для этого используйте клавишу TAB на клавиатуре. Можно также выделить несколько строк и сразу создать отступы при помощи клавиши TAB.)

Использование полей с определенными объектами

Итак, теперь мы объяснили компьютеру, что ВСЕ объекты класса «Animal» имеют эти поля. Теперь давайте попросим компьютер создать экземпляр, представляющий определенный объект класса «Animal» (как мы делали это в предыдущей главе) и сообщим компьютеру некоторую информацию об этом определенном объекте, присвоив значения каждому полю.

 Animal Barsik;
 Barsik = new Animal();

 Barsik.kindOfAnimal = "Cat";
 Barsik.name = "Кот Барсик";
 Barsik.numberOfLegs = 4;
 Barsik.height = 50;
 Barsik.length = 110;
 Barsik.color = "Black";
 Barsik.hasTail = true;
 Barsik.isMammal = true;
 

Обратите внимание, что значение строковых полей всегда заключается в кавычки (""), но только не значения других типов полей. В конце каждого выражения ставится точка с запятой (;).

На данном этапе стоит упомянуть, что выбранное нами имя объекта «Barsik» не несет никакого эмоционального значения для компьютера. Он бы также легко работал с объектом, если бы мы заменили все имена «Barsik» на «X» или любое другое имя на выбор:

 Animal X;
 X = new Animal();

 X.kindOfAnimal = "Cat";
 X.height = 50;
 X.length = 110;
 X.color = "Black";
 X.hasTail = true;
 X.isMammal = true;
 

Хотя поля могут располагаться на границе страницы, считается хорошей привычкой придерживаться отступов при помощи табуляции от правого края, которые можно создать при помощи клавиши TAB на клавиатуре. Это упрощает чтение кода.



Источник: http://msdn.microsoft.com/ru-ru/library/bb330920(v=vs.80).aspx
Категория: C# | Добавил: Cromartie (25.08.2013)
Просмотров: 737 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Оцените мой сайт
Всего ответов: 542
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Cheсking
Часы
Мини-чат
200
Друзья Сайта
  • Light Midnight - Ваша Еда
  • Light Midnight - Anim as life style
  • Поиск