|
ООП С Sharp - Создание статических методов
Как объяснялось в примере Authenticator, по умолчанию метод, подобный ChangePassword(), вызывается с каким-то определенным экземпляром, указанным именем переменной перед операцией точки (.). Этот метод затем неявно имеет доступ ко всем членам (полям, методам и тому подобному) этого конкретного экземпляра.
Однако, подобно полям, методы также можно объявлять как static, предполагая, что они не будут пытаться получить доступ к любым данным экземпляра или другим методам экземпляра. Например, может потребоваться реализовать метод, позволяющий просматривать минимальную длину пароля:
public class Authenticator
{
private static uint minPasswordLength = 6;
public static uint GetMinPasswordLength()
{
return minPasswordLength;
}
...
}
Обращение к статическим методам Тот факт, что статические методы и поля ассоциированы с классом, а не с объектом, отражается на том, как вы обращаетесь к ним. Вместо указания имени переменной перед точкой, задается имя класса:
Console.WriteLine(Authenticator.GetMinPasswordLength());
Также обратите внимание, что этот код обращается к методу Console.WriteLine(), специфицируя имя класса — Console. Это потому, что WriteLine() — также статический метод и нет необходимости создавать экземпляр объекта Console, чтобы использовать WriteLine().
|