Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы все_001.doc
Скачиваний:
6
Добавлен:
25.09.2019
Размер:
238.59 Кб
Скачать
  1. Основы ооп. Понятие инкапсуляции, наследования и полиморфизма.

В основе объектно-ориентированного программирования (ООП) лежит идея объединения в одной структуре данных и действий, которые производятся с этими данными . ООП базируется на трех основных понятиях:

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

Наследование – это возможность, позволяющая описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, или родительским. Новый класс — потомком, наследником или производным классом.

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

  1. Класс в ооп и его основные компоненты.

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

  1. Перегрузка функций.

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

Для обеспечения перегрузки функций необходимо для каждого имени определить, сколько разных функций связано с ним. Предположим, что функция выбора максимального значения элемента из массива должна работать для массивов типа int, long, float, double. В этом случае придется написать четыре разных варианта функции с одним и тем же именем. Распознавание перегруженных функций при вызове выполняется по фактическим параметрам. Перегруженные функции поэтому должны иметь одинаковые имена, но спецификации их параметров должны различаться по количеству и (или) по типам, и (или) по расположению.. Перегрузка операций производится с помощью специальной функции operator согласно следующей форме: тип operator знак_операции (типы аргументов) {...}. Перегруженная операция может быть определена как компонент класса; в этом случае она имеет один параметр или вообще не имеет параметров. У дружественной перегруженной операции может быть один или два параметра. Поэтому бинарные операции следует перегружать как дружественные.

  1. Уровни доступа к элементам класса.

Уровни доступа к элементам класса могут быть :

public, private, protected.

public разрешает доступ к элементам объекта класса из любой части программы, в которой известен этот объект (общедоступный).

Private(частными) разрешает доступ к элементам объекта класса только из методов этого класса.

Protected(защищенный) определяется для защищенных элементов и разрешает доступ к ним из методов производных классов.

Уровень доступа по умолчанию - private.