Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнительные вопросы по ООП.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
62.83 Кб
Скачать
  1. Назначение и использование ссылок (Reference) и операторов using.

  2. Типы элементы классов на языке c#.

• Поля (field) – обычно скрытые данные класса (внутренне состояние)

• Методы (methods) – операции над данными класса (поведение) (можно называть функциями)

• Свойства (property) – доступ к данным класса с помощью функций

• get – получить

• set – задать

• События (event) – оповещение пользователей класса о том, что произошло что-то важное.

  1. Описание конструкторов и деструкторов класса. Их использование.

Конструктор – метод класса, который а в т о м а т и ч е с к и вызывается при выделении памяти под объект.

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

При освобождении объектом памяти автоматически вызывается другой специальный метод класса – деструктор. Имя деструктора по аналогии с именем конструктора, совпадает с именем класса, но перед ним стоит символ «~» («тильда»). Деструктор определяет операции, которые необходимо выполнить при уничтожении объекта. Обычно он используется для освобождения памяти, выделенной под динамические поля объекта данного класса конструктором, и при необходимости может быть объявлен виртуальным.

Деструктор не возвращает значения, не имеет параметров и не наследуется производными

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

глобальная, внешняя и т. д. Если программа завершается с использованием функции exit, то вызываются деструкторы только глобальных объектов. При аварийном завершении программы, использующей объекты некоторого класса, функцией abort деструкторы объектов не вызываются.

public class A

{static A()

{Console.WriteLine("Статический конструктор класса А");}

public A()

{Console.WriteLine("Обычный конструктор класса А");}

~A()

{Console.WriteLine("Деструктор класса А");}}

  1. Свойства класс и их описание и использование.

Свойство класса это полезный гибрид поля и методов:

  • поле – значение которого можно получить и изменить (может и не быть);

  • метод для получения значения поля (get) и метод задания значения поля (set);

Метод get используется при использовании (получении значения) закрытого поля. В данном методе выполняется возврат значения закрытого поля ( например: return _x;).

Метод set используется при задании значения закрытого поля. Новое значение закрытого поля передается в переменной value ( например: _x = value;).

Пример:

Public string Name {

Get{return name;}

Set{name=value;}}

Свойства используются для:

  • создания полей, которые не могут быть изменены (для этого достаточно просто не включать метод set в описание свойства);

  • для выполнения проверок перед присваиванием (например, проверок полномочий);

  • для создания вычисляемых (активных) значений класса.