Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_for_Beginners.doc
Скачиваний:
35
Добавлен:
13.02.2015
Размер:
2.39 Mб
Скачать

Члены экземпляра и статические члены

Статический член представляет собой метод или поле, доступ к которым можно получить без ссылки на определенный экземпляр класса. Самым общим статическим методом является Main, который представляет точку входа для всех программ C#; следует обратить внимание, что создавать экземпляр содержащего класса для вызова метода Main не нужно. Еще одним часто используемым статическим методом является WriteLine в классе Console. При доступе к статическим методам необходимо обратить внимание на отличие в синтаксисе; с левой стороны оператора dot (точка) вместо имени экземпляра используется имя класса: Console.WriteLine.

Поле класса, объявляемое как статическое, будет общим для всех экземпляров класса. Если size в следующем примере кода были объявлены как статические и один объект Animal изменил значение, значение будет изменено для всех объектов типа Animal.

В статическом классе все элементы также статические. Использование статических классов, методов и полей целесообразно в ряде случаев для повышения производительности и эффективности. Однако если предполагается, что поле является полем экземпляра, хотя на самом деле оно статическое, могут возникнуть неявные ошибки.

Классы и файлы

Каждая программа C# имеет, по крайней мере, один класс. При разработке программы рекомендуется (но не требуется) хранить отдельный класс в каждом файле исходного кода (файле CS). Если для создания классов используется интегрированная среда разработки C#, она в это же время автоматически сгенерирует файл исходного кода.

Encapsulation

A class typically represents the characteristics of a thing, and the actions that it can perform. For example, to represent an animal as a C# class, you might give it a size, speed, and strength represented as numbers, and some functions such as MoveLeft(), MoveRight(), SpeedUp(), Stop() and so on, in which you would write the code to make your "animal" perform those actions. In C#, your animal class would look like this:

public class Animal

{

private int size;

private float speed;

private int strength;

public void MoveLeft() // method

{

// code goes here...

}

// other methods go here...

}

If you browse through the .NET Framework Class Library, you will see that each class represents a "thing," such as an XmlDocument, a String, a Form, and that each thing has various actions that it can perform (methods), characteristics that you can read and perhaps modify (properties) and notifications (events) that it sends out when it performs some given action. The methods, properties and events, along with all the other internal variables and constants (fields), are referred to as the members of the class.

Grouping members together into classes is not only logical, it also enables you to hide data and functions that you do not want other code to have access to. This principle is known as encapsulation. When you browse the .NET Framework class libraries, you are seeing only the public members of those classes. Each class probably also has private members that are used internally by that class or classes related to it, but are not meant to be used by applications. When you create your own classes, you will decide which members should be public, and which should be private.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]