Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополн. к лекции 2,3.doc(программирование).doc
Скачиваний:
12
Добавлен:
10.06.2015
Размер:
443.39 Кб
Скачать
    1. Классы

      1. Описание

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

Подобно тому, как на основе одного чертежа можно построить несколько зданий, можно создать любое количество объектов одного класса. Очень часто используются массивы или списки, содержащие множество объектов одного класса. Каждый экземпляр класса занимает отдельную область памяти; значения его полей (исключая статические поля) также являются независимыми.

Классы объявляются с помощью ключевого слова class. Класс может содержать:

  • Методы.

  • Свойства.

  • Поля.

  • События.

  • Делегаты.

  • Вложенные классы.

Члены класса могут иметь модификаторы:

  • Ключевое слово public является модификатором доступа для типов и членов типов. Общий (public) доступ является уровнем доступа с максимальными правами. Ограничений доступа к общим членам не существует.

  • Ключевое слово private является модификатором доступа к члену. Закрытый (private) доступ является уровнем доступа с минимальными правами. Доступ к закрытым членам можно получить только внутри тела класса или структуры, в которой они объявлены.

  • Ключевое слово protected является модификатором доступа к члену. Доступ к члену с модификатором protected (защищенный) возможен внутри класса и из производных экземпляров класса.

  • Модификатор static используется для объявления статического члена, принадлежащего собственно типу, а не конкретному объекту. Модификатор static можно использовать с классами, полями, методами, свойствами, операторами, событиями и конструкторами..

  • При использовании в качестве возвращаемого типа метода ключевое слово void обозначает, что этот метод не возвращает какого-либо значения. Ключевое слово void не может входить в список параметров метода.

      1. Структуры

Структура в C# аналогична классу, однако в структурах отсутствуют некоторые возможности, например наследование. Кроме того, поскольку структура является типом значения, ее можно создать быстрее, чем класс. При наличии непрерывного цикла, где создается большое количество новых структур данных, вместо класса рекомендуется использовать структуру. Структуры используются для инкапсуляции групп полей данных, таких как координаты точки в сетке или размеры прямоугольника.

      1. Инкапсуляция

Класс представляет характеристики объекта и выполняемые им действия. Действия обычно специфические для объектов. Их желательно сделать недоступными для других объектов. Помещение методов в класс «прячет» метод для других объектов Например, чтобы представить животное как класс C#, необходимо задать ему размер, скорость и силу, представленными в виде чисел, а также некоторые функции, например MoveLeft(),MoveRight(),SpeedUp(),Stop()и так далее, в которых можно написать код для выполнения "животным" этих действий. В C# класс животного может выглядеть следующим образом.

public class :Животное

{

private int Размер;

private float Скорость;

private int Сила;

public void MoveLeft() // Метод сместиться влево

{

// Код здесь...

}

// Другие методы здесь...

}

Методы, свойства и события, а также все остальные внутренние переменные и константы (поля) называются членами класса.

Группировка членов в классы имеет не только логический смысл, она также позволяет скрывать данные и функции, которые должны быть недоступны для другого кода. Этот принцип называют инкапсуляцией. При просмотре библиотек классов платформы .NET Framework будут видны только открытые члены этих классов. Возможно, каждый класс имеет закрытые члены, используемые внутренне этим классом или связанными классами, которые не предназначены для использования приложениями. Создавая собственные классы, нужно решить, какие члены будут открытыми, а какие — закрытыми.