Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_Answers_new_v_1_5.doc
Скачиваний:
6
Добавлен:
05.08.2019
Размер:
107.52 Кб
Скачать
  1. Понятие класса в ооп. Синтаксис объявления класса. Члены класса. Полный.

Член класса — данные об объекте или действиях с ним, описанные в классе.

Члены класса: поля (переменные), методы, свойства, события (?).

Синтаксис:

<атрибуты> <модификаторы> class <имя_класса>: <родители класса>

{

<тело_класса>

}

Атрибут — некоторая дополнительная информация, которая может быть приписана к конструкциям языка (тип, поле, метод, свойство).

Все атрибуты являются классами (потомками класса System.Attribute). Возможно создание своих атрибутов и применение их к коду.

Модификатор — средство ограничения доступа к членам класса.

Синтаксис некоторых членов класса (“внутренностей” класса):

public class A

{

public A()

{

// Определение конструктора без параметров

}

// Перегруз коснтруктора

public A(int a, int b)

{

// Определение конструктора с параметрами

}

public int k;

// Член, доступный любому классу программы.

internal int l;

// Член, доступный любому классу в том же модуле программы.

protected internal int m;

// Член, доступный любому классу в том же модуле программы либо только текущему классу и всем его подклассам в другом модуле.

protected int n;

// Член, доступный только текущему классу и всем его подклассам.

private int p;

// Член, доступный только из текущего класса (по умолчанию).

}

Виды классов:

  • Базовый класс (суперкласс / родитель) — класс, на основе которого создаются другие классы.

  • Производный класс (дочерний / потомок) — класс, наследуюший поля и методы другого класса.

  • Абстрактный класс — класс, не предполагающий создания экземпляров (объектов класса).

  • Интерфейс — семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом или компонентом.

  1. Объекты в ооп. Принадлежность объекта типу (связь между типом и объектом). Жизненный цикл объектов: создание и разрушение объектов. Garbage Collector и разрушение объектов. Полный.

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

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

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

Чтобы создать конструктор для класса, нужно создать метод, название которого совпадает с названием класса, в любом месте в определении класса.

Деструктор — метод, служащий для деинициализации (удалении) объекта (например, освобождение памяти).

Деструктор отличается от конструктора тем, что имеет символ ~ перед именем деструктора, которое также совпадает с именем класса.

Сборщик мусора (Garbage Collector).

В программировании сборка мусора — одна из форм автоматического управления памятью. Специальный код, называемый сборщиком мусора (garbage collector), периодически освобождает память, удаляя объекты, которые уже не будут востребованы приложением — то есть производит сборку мусора.

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

Периодичность запуска сборщика мусора определяется особенностями системы. Сборщик может работать в фоновом режиме, запускаясь при неактивности программы (например, когда программа простаивает, ожидая ввода данных пользователем).

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

После освобождения памяти прерванная операция выделения памяти возобновляется и программа продолжает исполняться дальше. Если же оказывается, что освободить память невозможно, среда исполнения останавливает программу с сообщением об ошибке «Недостаточно памяти».