[] static
{
// ... Property’s accessors methods go here
}
Нека разгледаме един пример. Имаме клас, който описва някаква система. Можем да създаваме много обекти от нея, но моделът на системата има дадена версия и производител, които са общи за всички екземпляри, създадени от този клас. Можем да направим версията и производителите статични свойства на класа:
SystemInfo.cs
|
public class SystemInfo
{
private static double version = 0.1;
private static string vendor = "Microsoft";
// The "version" static property
public static double Version
{
get { return version; }
set { version = value; }
}
// The "vendor" static property
public static string Vendor
{
get { return vendor; }
set { vendor = value; }
}
// ... More (non)static code here ...
}
|
В този пример сме избрали да пазим стойността на статичните свойства в статични променливи (което е логично, тъй като те са обвързани само с класа). Свойствата, които разглеждаме са съответно версия (Version) и производител (Vendor). За всяко едно от тях сме създали статични методи за четене и модификация. Така всички обекти от този клас, ще могат да извлекат текущата версия и производителя на системата, която описва класа. Съответно, ако някой ден бъде направено обновление на версията на системата например стойността стане 0.2, всеки от обектите, ще получи като резултат новата версия, чрез достъпване на свойството на класа.
Сподели с приятели: |