Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР №5.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
387.58 Кб
Скачать

Метод Main

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

// без параметров:

static тип Main() { ... }

static void Main() { ... }

// с параметрами:

static тип Main( string[] args ) { /* ... */ }

static void Main( string[] args ) { /* ... */ }

Параметры, разделяемые пробелами, задаются при запуске программы из командной строки после имени исполняемого файла программы. Они передаются в массив args.

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

using System;

namespace ConsoleApplication1

{ class Class1

{ static void Main( string[] args )

{

foreach( string arg in args ) Console.WriteLine( arg );

Console.Read();

}

}

}

Индексаторы

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

атрибуты спецификаторы тип this [ список_параметров ]

{

get код_доступа

set код_доступа

}

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

Код доступа представляет собой блоки операторов, которые выполняются при получении (get) или установке значения (set) элемента массива. Может отсутствовать либо часть get, либо set, но не обе одновременно. Если отсутствует часть set, индексатор доступен только для чтения (read-only), если отсутствует часть get, индексатор доступен только для записи (write-only).

Список параметров содержит одно или несколько описаний индексов, по которым выполняется доступ к элементу. Чаще всего используется один индекс целого типа.

Индексаторы в основном применяются для создания специализированных массивов, на работу с которыми накладываются какие-либо ограничения.

Язык C# допускает использование многомерных индексаторов. Они описываются аналогично обычным и применяются в основном для контроля за занесением данных в многомерные массивы и выборке данных из многомерных массивов, оформленных в виде классов.

3. Практическая работа

Запустите среду разработки программ Microsoft Visual Studio 2005 (2008) из меню «Пуск»-> «Все программы».

Создайте новый проект из меню «File» -> «New» -> «Project» (см. рис. 2). Затем в окне «New Project» (см. рис. 3) укажите язык разработки Visual C# и тип проекта Console Application. Далее дайте название проекту (латиницей), выберите папку для хранения проекта и укажите название разрабатываемой программы (латиницей).

В результате этих действий будет открыто основное окно разработки программ в среде Microsoft Visual Studio. Это окно уже содержит готовый текстовый шаблон для создания программы.

Замените целиком готовый шаблон на код, приведенный выше и откомпилируйте проект, нажав на «Build» в панели меню среды разработки. Для запуска программы нажмите F5.

Последовательно изучите приведенные примеры и выполните задания к лабораторной работе в соответствии с Вашим вариантом. Затем ответьте на контрольные вопросы и оформите отчет к лабораторной работе.

Рис.2. Создание нового проекта в среде Microsoft Visual Studio

Рис.3. Выбор языка разработки и типа проекта

Рис.4. Окно разработки проекта

Задание к лабораторной работе

Создать собственный произвольный класс (не менее 5 полей, не менее 5 методов и не менее 2 конструкторов). Разрабатываемый класс должен содержать следующие элементы: скрытые поля, конструкторы с параметрами и без параметров, методы, свойства. Методы и свойства должны обеспечивать непротиворечивый, полный, минимальный и удобный интерфейс класса.

Контрольные вопросы

  1. Перечислите и опишите элементы класса в C#.

  2. Опишите способы передачи параметров в методы.

  3. Для чего в классе может потребоваться несколько конструкторов?

  4. Как можно вызвать один конструктор из другого? Зачем это нужно?

  5. Что такое this? Что в нем хранится, как он используется?

  6. Что такое деструктор? Гарантирует ли среда его выполнение?

  7. Какие действия обычно выполняются в части set свойства?

  8. Может ли свойство класса быть не связанным с его полями?

  9. Можно ли описать разные спецификаторы доступа к частям get и set свойства?

  10. Что такое индексатор, для каких классов он применяется?

  11. Может ли статический конструктор инициализировать поля экземпляра?

  12. Зачем нужна перегрузка методов и операций?

  13. Опишите способы перегрузки операций.

  14. Для каких классов имеет смысл использовать перегруженные операции?

Требования к содержанию отчета

Отчет к лабораторной работе должен иметь титульный лист с указанием названия учебного заведения, названия кафедры, дисциплины, номера и названия лабораторной работы; № варианта и ФИО студентов, выполнивших работу; ФИО преподавателя; места сдачи и года.

В отчете должны быть следующие разделы:

  • Цель работы и текст задания (постановка задачи);

  • Теоретическая часть, в которой кратко излагаются основные сведения, необходимые для выполнения лабораторной работы;

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

  • Выводами о проделанной работе.

Отчет должен быть аккуратно оформлен и подшит. Шрифт текста  Times New Roman, размер  14, междустрочный интервал  1.0. Рисунки и таблицы должны быть пронумерованы и названы.

27