Static Classes and Static Class Members 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Static Classes and Static Class Members



Static classes and class members are used to create data and functions that can be accessed without creating an instance of the class. Static class members can be used to separate data and behavior that is independent of any object identity: the data and functions do not change regardless of what happens to the object. Static classes can be used when there is no data or behavior in the class that depends on object identity.

Static Classes

A class can be declared static, which indicates that it contains only static members. It is not possible to use the new keyword to create instances of a static class. Static classes are loaded automatically by the.NET Framework common language runtime (CLR) when the program or namespace that contains the class is loaded.

Use a static class to contain methods that are not associated with a particular object. For example, it is a common requirement to create a set of methods that do not act on instance data and are not associated to a specific object in your code. You could use a static class to hold those methods.

Following are the main features of a static class:

· They only contain static members.

· They cannot be instantiated.

· They are sealed.

· They cannot contain Instance Constructors.

Creating a static class is therefore basically the same as creating a class that contains only static members and a private constructor. A private constructor prevents the class from being instantiated.

The advantage of using a static class is that the compiler can check to make sure that no instance members are accidentally added. The compiler will guarantee that instances of this class cannot be created.

Static classes are sealed and therefore cannot be inherited. They cannot inherit from any class except Object. Static classes cannot contain an instance constructor; however, they can have a static constructor.


Статические классы и члены статических классов

Статические классы и статические члены служат для создания данных и функций, доступных без создания экземпляра класса. Члены статического класса могут использоваться для отделения данных и поведения, независимых от удостоверений объектов, поскольку данные и функции не меняются независимо от того, что происходит с объектом. Статические классы можно использовать в случаях, когда в классе нет данных или поведения, зависящего от удостоверения объекта.

Статические классы

Класс может быть объявлен статическим: это означает, что он содержит только статические члены. Для создания экземпляров статических классов нельзя использовать ключевое слово new. Статические классы автоматически загружаются средой CLR платформы.NET Framework при загрузке программы или пространства имен, содержащих такой класс.

Статические классы следует использовать для методов, которые не связаны с определенным объектом. Например, часто приходится создавать набор методов, которые не действуют для данных экземпляров и не связаны с определенными объектами в коде. Для таких методов можно создать статический класс.

Ниже описаны основные параметры статических классов.

· Статические классы могут содержать только статические члены.

· Создавать экземпляры статических классов нельзя.

· Они являются запечатанными.

· Они не могут содержать Конструкторы экземпляров.

По сути, создания статического класса аналогично созданию класса, содержащего только статические члены и закрытый конструктор. Закрытый конструктор не допускает создания экземпляров класса.

Преимущество применения статических классов заключается в том, что компилятор может проверить отсутствие случайно добавленных членов экземпляров. Таким образом, компилятор гарантирует невозможность создания экземпляров таких классов.

Статические классы запечатаны, поэтому их нельзя наследовать. Они не могут быть унаследованы ни от каких классов, кроме Object. Статические классы не могут содержать конструктор экземпляров, но могут содержать статический конструктор. Дополнительные сведения см. в разделе Статические конструкторы.

 


When to Use Static Classes

Suppose you have a CompanyInfo class that contains the following methods to get information about the company name and address.

class CompanyInfo { public string GetCompanyName() { return "CompanyName"; } public string GetCompanyAddress() { return "CompanyAddress"; } //... }

These methods do not have to be attached to a specific instance of the class. Therefore, instead of creating unnecessary instances of this class, you can declare it as a static class:

static class CompanyInfo { public static string GetCompanyName() { return "CompanyName"; } public static string GetCompanyAddress() { return "CompanyAddress"; } //... }

Use a static class as a unit of organization for methods not associated with particular objects. Also, a static class can make your implementation simpler and faster because you do not have to create an object in order to call its methods. It is useful to organize the methods inside the class in a meaningful way, such as the methods of the Math class in the System namespace.

 



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 65; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.186.6 (0.004 с.)