Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPOR.docx
Скачиваний:
38
Добавлен:
23.04.2019
Размер:
93.52 Кб
Скачать

9. Концепция типа данных. Переменные и константы и их реализация в с#.

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

int x, s; //без инициализации x=10; s=20; //отложенная инициализация

int y =0, u = 77; //обычный способ инициализации

int z= new int(); //допустимая инициализация в объектном стиле

Любой блок определяет область объявления, или область видимости (scope) объектов. Блок начинается открывающей, а завершается закрывающей фигурными скобками. Таким образом, при создании блока создается и новая область видимости, которая определяет, какие объекты видимы для других частей программы. Область видимости также определяет время существования этих объектов. Самыми важными в С# являются области видимости, которые определены классом и методом. Область видимости, определяемая методом, начинается с открывающей фигурной скобки. Но если метод имеет параметры, они также относятся к области видимости метода.

Как правило, переменные, объявленные в некоторой области видимости, невидимы (т.е. недоступны) для кода, который определяется вне этой области видимости. Таким образом, при объявлении переменной внутри области видимости вы локализируете ее и защищаете от неправомочного доступа и/или модификации. Эти правила области видимости обеспечивают основу для инкапсуляции.

int x; // Переменная х известна всему коду в пределах метода Main().

х = 10; if(х = = 10) { // Начало новой области видимости,

int у = 20; // Переменная у известна только этому блоку.

// Здесь известны обе переменные х и у. }

// у = 100; // Переменная у здесь неизвестна. // Переменная х здесь известна.

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

Константы C# могут появляться, как обычно, в виде литералов и именованных констант. Вот пример константы, заданной литералом и стоящей в правой части оператора присваивания: y = 7.7f; // константа типа float

Значение константы "7.7f" является одновременно ее именем, оно же позволяет однозначно определить тип константы. Заметьте, иногда, как в данном случае, приходится добавлять к значению специальные символы для точного указания типа. Синтаксис объявления: добавляется модификатор const, инициализация констант обязательна и не может быть отложена. Пример объявления констант:

const int SmallSize = 38, LargeSize =58; const int MidSize = (SmallSize + LargeSize)/2;

const double pi = 3.141593;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]