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

10. Принцип модульности программ. Глобальные и локальные имена. Область видимости имен. Выбор области видимости.

У класса две различные роли: модуля и типа данных. Класс — это модуль, архитектурная единица построения программной системы. Модульность построения — основное свойство программных систем. В ООП программная система, строящаяся по модульному принципу, состоит из классов, являющихся основным видом модуля. Размер и содержание модуля определяется архитектурными соображениями. Ничто не мешает построить монолитную систему, состоящую из одного модуля — она может решать ту же задачу, что и система, состоящая из многих модулей.

Переменные, которые объявляться на уровне модуля, называются глобальными. Их область действия распространяется, по крайней мере, на весь модуль. В языке C# роль модуля играют классы, пространства имен, проекты, решения. Поля классов могут рассматриваться как глобальные переменные класса. В других видах модуля - пространствах имен, проектах, решениях - нельзя объявлять переменные. В пространствах имен в языке C# разрешено только объявление классов и их частных случаев: структур, интерфейсов, делегатов, перечислений. Поэтому глобальных переменных уровня модуля, в привычном для других языков программирования смысле, в языке C# нет. Классы не могут обмениваться информацией, используя глобальные переменные. Все взаимодействие между ними обеспечивается способами, стандартными для объектного подхода. Между классами могут существовать два типа отношений — клиентские и наследования, а основной способ инициации вычислений — это вызов метода для объекта-цели или вызов обработчика события. Поля класса и аргументы метода позволяют передавать и получать нужную информацию. Устранение глобальных переменных как источника опасных, трудно находимых ошибок существенно повышает надежность создаваемых на языке C# программных продуктов.

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

12. Унарные и мультипликативные операции. Примеры применений.

Унарные: + - ! (логическое отрицание) ~ (поразрядное отрицание, инвертирует каждый разряд в двоичном представлении операнда типа int, uint, long, ulong) ++х --х (тип)х (преобразование типов).

Мультипликативные (умножения): * / % (остаток от деления)

Синтаксис объявления унарной операции: тип operator операция (параметр).

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