Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_ответы.docx
Скачиваний:
8
Добавлен:
22.09.2019
Размер:
138.16 Кб
Скачать

3. Объектный подход к программированию.

Объе́ктно-ориенти́рованное или объектное программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов). Языки программирования основаны на 3х базовых концепциях: инкапсуляция, полиморфизм, наследование.

Инкапсуляциямеханизм, объединяющий данные и программный код для их обработки, при этом осуществляется защита от внешнего вмешательства и неправильного использования данных. Полученный в результате инкапсуляции модуль называется объектом. Внутри объекта коды и данные могут быть закрытыми (private) и открытыми (public). Закрытые части недоступны извне объекта.

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

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

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

ООП не отменяет положений структурного программирования. Последовательность обработки объектов, алгоритмы внутренней структуры классов должны быть реализованы в соответствии с рекомендациями структурного программирования.

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

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

Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.

4. Процедуры с параметрами. Описание, пример.

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

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

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

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

Пример:

procedure TForm1.Button1Click(Sender:TObject);

procedure korni (a, b, c: real; var x1, x2: real);

var d:real;

begin

d:=b*b – 4*a*c;

if d<0 then

Edit1.Text:=FloatToStr’корней нет’;

else

begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

end;

end;end.

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

  • Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания. Подробнее см. в статье Функция (программирование).

  • Процедура — это любая подпрограмма, которая не является функцией.