* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Общие (статические) члены
7 февраля 2009
Обычно члены экземпляра класса принадлежат только данному экземпляру и ни- кому другому, что демонстрирует следующий псевдокод:
Visual Basic .NET Dim Object"! as New DemoClass (} Dim Object2 as New DemoClass () Object4!. MyField = 15 Object2.MyField = 20 Visual C# DemoClass Objectl = new DemoClass (}; DemoClass Objects = new DemoClass {); Objectl.MyField = 15; Object2.MyField = 20; Поле MyField разных объектов класса DemoClass содержит разные значения. Од- нако можно создавать члены, общие для всех экземпляров класса. Они называются общими (Shared) или статическими (static). Независимо от числа экземпляров типа возможно не более одного экземпляра каждого из его общих членов. Чтобы создать общее поле, необходимо объявить его с ключевым словом Shared (в Visual Basic .NET) или static (в С#), например: 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) и т.д. Методы, как и поля, тоже могут быть общими (статическими). Если обычные методы принадлежат экземплярам типа, то общие методы — самому типу, поэтому общие методы не имеют доступа к данным экземпляров этого типа, откуда бы их ни вызывали. Общему методу доступны лишь общие переменные, переменные, объяв- ленные в этом методе, а также переданные ему параметры.