C# Статичен клас, методи, конструктори, полета



страница2/3
Дата20.11.2022
Размер23.45 Kb.
#115617
1   2   3
Static
Статични полета
Статичните полета в нестатичен клас могат да бъдат дефинирани с помощта на ключовата дума static.
Статичните полета на нестатичен клас се споделят във всички екземпляри. Така че промените, направени от един екземпляр, ще се отразят в други.
Пример: Споделени статични полета
public class StopWatch
{
public static int NoOfInstances = 0;
// instance constructor
public StopWatch()
{
StopWatch.NoOfInstances++;
}
}

class Program


{
static void Main(string[] args)
{
StopWatch sw1 = new StopWatch();
StopWatch sw2 = new StopWatch();
Console.WriteLine(StopWatch.NoOfInstances); //2
StopWatch sw3 = new StopWatch();
StopWatch sw4 = new StopWatch();
Console.WriteLine(StopWatch.NoOfInstances);//4
}
}


Статични методи
Можете да дефинирате един или повече статични методи в нестатичен клас. Статичните методи могат да бъдат извикани без създаване на обект. Не можете да извиквате статични методи, като използвате обект от нестатичния клас.
Статичните методи могат да извикват само други статични методи и да имат достъп до статични членове. Нямате достъп до нестатични членове на класа в статичните методи.

Пример: Статичен метод


class Program
{
static int counter = 0;
string name = "Demo Program";

static void Main(string[] args)


{
counter++; // can access static fields
Display("Hello World!"); // can call static methods

name = "New Demo Program"; //Error: cannot access non-static members


SetRootFolder("C:\MyProgram"); //Error: cannot call non-static method
}

static void Display(string text)


{
Console.WriteLine(text);
}

public void SetRootFolder(string path) { }


}
Правила за статични методи
Статичните методи могат да се дефинират с помощта на ключовата дума static преди връщащ тип и след модификатор за достъп.
Статичните методи могат да бъдат претоварени, но не могат да бъдат отменени.
Статичните методи могат да съдържат локални статични променливи.
Статичните методи не могат да имат достъп или да извикват нестатични променливи, освен ако не са изрично предадени като параметри.


Сподели с приятели:
1   2   3




©obuch.info 2024
отнасят до администрацията

    Начална страница