Библиотека книг по компьютерным технологиям
⇒ ⇒ Разработка Windows-приложений на Microsoft Visual Basic .NET и Microsoft Visual C# .NET. Учебный курс MCAD/MCSD
⇒ ⇒ ⇒ Глава 1. Введение в .NET Framework
⇒ ⇒ ⇒ ⇒ Занятие 5. Область видимости и уровни доступа

Читать далее: Доступ к общим членам

Общие (статические) члены

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

Visual Basic .NET

Dim Object1 As New DemoClass
Dim Object2 As New DemoClass

Object1.MyField = 15
Object2.MyField = 20

Visual C#

DemoClass Object1 = new DemoClass();
DemoClass Object2 = new DemoClass();

Object1.MyField = 15;
Object2.MyField = 20;

Поле MyField разных объектов класса DemoClass содержит разные значения. Однако можно создавать члены, общие для всех экземпляров класса. Они называются общими (Shared) или статическими (static). Независимо от числа экземпляров типа возможно не более одного экземпляра каждого из его общих членов.

Чтобы создать общее поле, необходимо объявить его с ключевым словом Shared (в Visual Basic .NET) или static (в C#), например:

Visual Basic .NET

Public Class Demo
  Public Shared MyField As Integer
End Class

Visual C#

public class Demo
{
  public static int MyField;
}

Даже при наличии нескольких экземпляров класса Demo существует только один экземпляр поля MyField. Заметьте, что ключевое слово Shared (static) не является модификатором доступа, оно лишь свидетельствует о том, что помеченный им член является общим. Для общих членов разрешается задавать любые модификаторы доступа — Public (public), Private (private), Friend (internal) и т. д.

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

Google
 
Рейтинг@Mail.ru
Сайт управляется системой uCoz