Тематические поисковые системы
и сайты проекта Vedenin.ru:

Танцевальная поисковая система Энциклопедическая поисковая система Поисковая система программиста Книжная поисковая система Банковская поисковая система Музыкальная поисковая система Автомобильная поисковая система Спортивная поисковая система Поисковая система видео и фильмов
Поисковая система и Online учебник по программированию и веб - дизайну

Поиск для программиста

  1. Все сайты по теме
  2. Статьи и книги
  3. Форумы и блоги

Шпаргалки
(краткий синтаксис
разных языков)

Операции
Приоритеты
Типы данных
Операторы
Переменные
Функции
Классы
Математика
Строки
Память

Учебник
(Сравнительный анализ синтаксиса десятка языков)

О языках
Комментарии
IF
CASE
FOR
FOREACH
DO.. WHILE
With
Метки
GOTO
BREAK
Операции
Типы данных
Переменные
Видимость
Функциями
ООП
Исключения
#IF
Память
Матем.функции
Коллекции
Cтроки
БД.SQL

<<Cтатьи>>
C++58
Delphi 138
Java
155
C#
3
Visual Basic
47
PHP
63
JavaScript 69
Perl 15
ASP 23
Ассемблер 35
C++ 102
Java 29
C# 20
JavaScript 2
Perl 2



Видимость объектов в языках программирования C++,C#.Net,Deplhi,VFP,Transact-SQL,PL-SQL,VBScript,JavaScript,JScript,Visual Basic

7.Видимость объектов

7.1 Общие сведения о видимости переменных, массивов и объектов.

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

Есть несколько видов области видимости:

1) Публичная. Когда переменная видна в любой части исходного кода программы.

2) Локальная блочная. Переменная видна только в пределах блока, в котором она была определена.

2)Локальная функциональная. Переменная видна только в пределах функции в которой была определена. При этом в функциях, вызванных из функции, где определена переменная, переменная не видна.

З) Приватная область. Переменная видна в функции, где была определена и во всех функциях, вызванных из функции.

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

7.2 Работа с пространствами имен

В большинстве языках программирования возможно использовать только уникальные имена в одной видимости, т.е. нельзя использовать одно имя для разных объектов.(Единственный язык, который требует уникальности имен среди переменных, функций и массивов, но позволяет использовать массив, переменную и функцию с одним именем и тем же именем это язык Perl). Так для того, чтобы ограничить большое количество имен и вводятся пространства имен (в языке Jаvа они называются пакетами).


Объявление пространства имен (Delphi ???)

C++

C#

Jscript, Java

Visual Basic.Net

namespace имя {...}

namespace имя1 … [.имяN] {...}

Package имя1… [.имяN] {}

namespace [имя] ... End namespace

В теле пространства имен могут быть любые операторы, в том числе классы, структуры, типы и т.п. объекты. Все объекты, объявленные в теле пространства имен относятся к данному пространству имен, кроме того в пространстве имен можно обращаться ко всех объектам, принадлежащих к данному пространству имен, указывая только имя объекта, без указания пространства. Использовать определение пространства имен с одним именем можно сколько угодно раз, даже в различных исходных файлах. В языках C#, Jscript и Java допускается вложенные пространства имен (при определении такого пространства необходимо перечислить по очереди имена всех пространств имен верхнего уровня и только в конце указать имя текущего пространства)


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

1) Сделать пространство имен, где находится данный объект текущим, тогда к данному объекту можно будет обращаться по имени; (но тогда к объектам других пространств имен, придется обращаться, используя операцию доступа к члену)

2) Можно импортировать все пространство имен в данный файл, тогда ко всем классам и объектам можно будет обращаться по имени;

3) Можно импортировать лишь один класс или объект определенного пространства имен, тогда по имени можно будет получить доступ только к этому объекту или классу.

4) Можно обращаться к любому классу или объекту используя операцию доступа к члену пространства имен.


1) Импорт пространства имен

C++

Jscript

Java

Visual Basic.Net

using namespace имя1

import имя1

import имя1...[.имяN].*

imports имя1

2) Импорт члена пространства имен

C++

Java

Visual Basic.Net

using имя::член

import имя1...[.имяN].член

imports [алиас=]имя.член

3) Доступ к члену пространства имен

C++

C#, Jscript, Java

[имя]::член

[имя1]…[.имяN].член



Безымянные пространства

C++

Java

namespace {...}

неявно!



Объединение пространств имен

C++

namespace имя {[using namespace имя1] [using имя2::член] ...}


Псевдонимы пространств имен



C++

C#

Visual Basic.Net

namespace алиас = имя

using алиас = имя

imports алиас = имя



Ваш комментарий



Добавить эту поисковую систему в Ваш Google Bar Разделы учебника
<> Хостинг сайта: EOMY.NET