Методология программирования, которая основана на представлении программы в виде совокупности объектов

Страницы работы

Содержание работы

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

Объект – осязаемая сущность, кот. четко проявляет свое поведение.

Тип «объект» напоминает запись, но включает как данные, так и подпрограммы их обработки. Данный тип нуждается в предварительном описании в разделе типов. Методы описываются своими заголовками, само же их описание располагается в разделе описаний процедур и функций основной программы следующим образом: тип метода (procedure) имя типа объекта (t). Имя описываемого метода (putpredel)

Type

t=object

predEl:pointer;

nextEl:pointer;

procedure putpredel (predEl:pointer);

function getpredel:pointer;

ООП характеризуется 3 свойствами:

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

Type

t=object

procedure putpredel (predEl:pointer);

function getpredel:pointer;

private

predEl:pointer;

nextEl:pointer;

end;

 

Type

t=object

private

predEl:pointer;

nextEl:pointer;

public

procedure putpredel (predEl:pointer);

function getpredel:pointer;

end;

 
 


Приватные данные – непосредственное обращение возможно только при обращении к методам – надежность.

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

Type

Tstr=object (t)

furst:pointer;

end;

Для того чтобы не описывать схожие методы несколько раз, можно описать метод 1 раз, объявив его виртуальным (слово virtual сразу после заголовка метода). Тогда в каждом конкретном случае выбор метода будет зависеть от объекта, с которым идет работа. Метод, объявленный как виртуальный, должен объявляться  как виртуальный везде и везде списки параметров д.б. эквивалентны.  Например,   function initel:pointer; virtual; Работа с виртуальными методами убыстряет программу.

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

Совместимость объектных типов:

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

При совместимости объектных типов необходимо учитывать, что для переменных дочерних типов можно присваивать значение родительских типов, но обратное присваивание недопустимо. Для объектов совместимость бывает 3 типов:

-  когда переменные имеют один тип или описаны вместе VAR x,y,z:real;

-  объекты низшего уровня

Преимущества ООП:

-  эффективны для больших программ (сокращение разработки, но не объема программ + уменьшение быстродействия)

-  исп. простых понятий

-  сокращение размера программы за счет наследуемых свойств и действий

-  легко изменение частей программы, а не всей программы в целом  

-  возможность написания подпрограмм с 1 именем, но разным числом формальных параметров

-  инкапсуляция – возможность быстро разобраться со структурой программы  

Похожие материалы

Информация о работе