louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

Изучаем C Sharp (C#)

Программирование на C Sharp (C#) с нуля

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Введение в классы - Статические члены (часть 5)

СТАТИЧЕСКИЕ ЧЛЕНЫ КЛАССА


Вы можете определить член класса как статический (static member) или член экземпляра (instance member). По умолчанию каждый член определен как член экземпляра. Это значит, что для каждого экземпляра класса делается своя копия этого члена. Когда член объявлен как статический, имеется лишь одна его копия. Статический член создается при загрузке содержащего класс приложения и существует в течение жизни приложения. Поэтому вы можете обращаться к члену, даже если экземпляр класса еще не создан.
Один из примеров — метод Main. CLR (Common Language Runtime) нужна универсальная точка входа в ваше приложение. Поскольку CLR не должна создавать экземпляры ваших объектов, существуют правила, требующие определить в одном из ваших классов статический метод Main.
Вы можете захотеть использовать статические члены при наличии метода, который формально принадлежит классу, но не требует реального объекта. Скажем, если вам нужно отслеживать число экземпляров данного объекта, которое создается во время жизни приложения. Поскольку статические члены «живут» на протяжении существования всех экземпляров объекта, должен работать такой код:


using System;

class InstCount
{
    public InstCount()
    {
        instanceCount++;
    }
    static public int instanceCount;
    //instanceCount = 0;
    class AppClass
    {
        public static void Main()
        {
            Console.WriteLine(InstCount.instanceCount);
            InstCount ic1 = new InstCount();
            Console.WriteLine(InstCount.instanceCount);
            InstCount ic2 = new InstCount();
            Console.WriteLine(InstCount.instanceCount);
        }
    }
}



В этом примере выходная информация будет следующая:
0
1
2
И последнее замечание по статическим членам: у них должно быть некоторое допустимое значение. Его можно задать при определении члена:
static public int instanceCount = 10;
Если вы не инициализируете переменную, это сделает CLR после запуска приложения, установив значение по умолчанию, равное 0. Поэтому следующие строки эквивалентны:
static public int instanceCount;
static public int instanceCount=0;

Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (1,67 - 6 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии

Комментирует manuilov 01.10.2010 13:52:24
Последнии статьи не несут поучительной информации несмотря на их важность ...просто потому что тут нужно давать подробное построчное описание как минимум 3 примеров. Запутывают. Опишите больше примеров. Непонятно(

Комментирует Zumazuma 05.02.2011 21:31:45


Комментирует dmitry 06.11.2011 17:24:27


Комментирует Gordon 24.01.2012 17:12:34
Я тоже с трудом понимаю.



Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!