рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Определение объектов

Определение объектов - раздел Информатика, Оглавление Введение. Ошибка! Закладка Не Определена....

Оглавление

Введение. Ошибка! Закладка не определена.

Определение объектов. 1

Инкапсуляция. 2

Наследование. 3

Полиморфизм.. 6

Контрольные вопросы.. 8

Лекция №28

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

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

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

Определение объектов

Address : string[40]; Procedure Init(n,a : string); End; Var Student : TPerson;

Type TPerson =Object

Name : string[20];

Address : string[40];

Procedure Init(n,a:string);

Procedure Show;

Function GetAddress:string;

End;

Var Person : TPerson;

В примере объявлены два метода-процедуры Init и Show и метод-функции GetAddress. Метод Init предназначен для инициализации полей объекта, метод Show предназначен для вывода содержимого полей объекта на экран, метод GetAddress обеспечивает доступ к полю Address.

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

Переменную, описываемую типом ИмяОбъекта, называют экземпляром объекта:VAR ЭкземплярОбъекта : ИмяОбъекта;В программе может быть сколько угодно экземпляров одного объекта. Вызов метода – это оператор (или выражение) вида:<ИмяЭкземпляраОбъекта>.<ИмяМетода>[<СписокФактическихПараметров>]

Например,

Procedure TPerson.Init(n,a:string);

Begin

Name:=n;

Address:=a;

End;

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

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

Вместо прямого доступа к полям следует использовать методы. Например,

Type TPerson =Object

Procedure Init(n,a:string);

Function GetName:string;

Function GetAddress:string;

Procedure SetAddress(NewAddress:string);

End;

В объявлении типа TPerson включены объявления методов. Метод Init обеспечивает инициализацию объекта. Метод SetAddress позволяет изменить значение поля Address, методы GetName и GetAddress – получить значения соответствующих полей.

Инкапсуляция

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

Type

TPerson =Object

Procedure Init(n,a:string);

Function GetName:string;

Function GetAddress:string;

Procedure SetAddress(NewAddress:string);

Private

Address : string; End; Директива private также используется для ограничения использования некоторых методов объекта. Поля и методы,…

Наследование

Полиморфизм

Type

TPerson =Object

FName : string[25];

FAddress : string[25];

End;

TStud =object( TPerson)

FGroup : integer;

Procedure Print;

End;

TProf =object(TPerson)

FKaf : integer;

Procedure Print;

End;

Var Pperson: ^TPerson;Pstud : ^TStud;Pprof : ^TProf;Для приведенного определения следующие инструкции присваивания являются верными:

Pperson:= Pstud;

Pperson:= Pprof;

Описанное свойство указателей на объектные типы позволяет организовать список студентов и преподавателей как массив указателей на объектный тип TPerson, например, так: Spisok : array[1..n] of ^TPerson;

Тогда инструкция For i:=1 to n do Spisok[i]^.print; выведет на экран список преподавателей и студентов. Элемент массива может быть указателем на TStud или на TProf. Поэтому нельзя заранее сказать какой из методов будет вызван – TStud.Print или TProf.Print. Решение о выборе метода принимается во время выполнения программы.

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

Ниже приведена программа, иллюстрирующая понятие «полиморфизм». Программа сначала формирует список, состоящий из объектов типа TStudent и Tprofessor, затем, применяя метод Print к элементам массива, выводит этот список на экран.

Program PolVir;

Const lenlist =10; {длина списка}

Type TPerson =Object

FName : string[30];

FAddress : string[40];

Procedure Init(Name, Address : string); {конструктор объекта}

Procedure Done; {деструктор объекта}

Procedure Print;

End;

TStudent =object( TPerson)

FGroup : integer;

Procedure Init(Name, Address : string; Group: integer);

Procedure Done; Procedure Print;

End;

TProfessor =object( TPerson)

FKafedra : string[30];

Procedure Init(Name, Address, Kafedra : string);

Procedure Done; Procedure Print;

End;

PStudent=^Tstudent;

PProf=^TProfessor;

Procedure TPerson.Init(Name, Address: string);

Begin

FName:=Name;

FAddress:= Address;

End;

Procedure TPerson.Done;

Begin

End;

Procedure TPerson.Print;

Begin

Writeln(FName);

Writeln(FAddress);

End;

Procedure TStudent.Init(Name, Address: string;Group:integer);

Begin

TPerson.Init(Name,Address);

FGroup:=Group;

End;

Procedure TStudent.Done;

Begin

End;

Procedure TStudent.Print;

Begin

TPerson.Print;

Writeln(‘гр. ’,FGroup);

End;

Procedure TProfessor.Init(Name, Address, Kafedra: string);

Begin

TPerson.Init(Name,Address);

FKafedra:=Kafedra;

End;

Procedure TProfessor.Done;

Begin

Inherited Done;

End;

Procedure TProfessor.Print;

Begin

TPerson.Print;

Writeln(‘каф. ’,Fkafedra);

End;

Var list : array[1..lenlist] of ^TPerson;

I: integer;

Begin {инициализация списка}

For i:=1 to lenlist do list[i]:=NIL;

{создать пять объектов и поместить в список}

List[1]:=new(PStudent,Init(‘Михаил Иванов’,’Лесной пр., д.29’,238);

List[2]:=new(PStudent,Init(‘Иван Жук’,’Весенняя ул., д.2, кв.17’,133);

List[3]:=new(PProf,Init(‘Игорь Манин’,’Некрасова ул., д.45, кв.8’,’ПОИТ’);

List[4]:=new(PProf, Init(‘Нина Непомнящая’,’Ромашковая ул., д.12,кв.10’,’ПОИТ’);

List[5]:=new(PStudent,Init(‘Кузьма Прутков’,’Долгобродская ул., д.2, корп.2, кв.17’,473);

{вывести объекты – элементы списка}

For i:=1 to lenlist do

If list[i] <> NIL then list[i]^.print;

{уничтожить объекты}

For i:=1 to lenlist do

If list[i] <> NIL then

Begin

Dispose(list[i],Done); {разрушение объекта}

List[i]:=Nil;

End;

Readln;

End.

Контрольные вопросы

  1. Опишите основные понятия – объект, класс.
  2. Дайте определение понятиям «инкапсуляция», «полиморфизм», «наследование».
  3. Приведите примеры.

– Конец работы –

Используемые теги: определение, объектов0.052

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Определение объектов

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

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

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

Объект управления (управляемый объект)
Гомельский государственный... Технический университет им П О Сухого...

Характеристика РЭСИ как объекта теории надежности. Основные показатели безотказности для невосстанавливаемых объектов
При расчетах и анализе надежности широко используются термины «элемент» и «система». Под элементом понимается часть сложного объекта, которая имеет… В соответствии с ГОСТ 27.002-89 надежность трактуется как свойство объекта… Исправное состояние. Состояние объекта, при котором он соответствует всем требованиям нормативно-технической и (или)…

Определения положения объектов на местности при помощи приборов нивелира и теодолита
Необходимо выполнение поверок и юстировок геодезических приборов геодезических работ при создании геодезического обоснования теодолитной, высотной,… Каждый студент должен выполнить съемку четырех контурных точек, используя… Тахеометрическая съемка 1-2 станции на студента 5 построение совмещенного плана теодолитной и тахеометрической съемок…

Демография как наука. Определение, объект и предмет демографии, ее цели и задачи, методы исследования, взаимосвязь с другими науками
Таблица... Классификация возраста Календарный возраст Период жизни... Источник Медков В М Демография Ростов на Дону С...

Определение энтропии. Определение информационных потерь при передаче сообщений по каналам связи с шумами
Задание Определение энтропии... Сообщение состоит из N символов Имеется m типов символов количество букв... Задание Определение информационных потерь при передаче сообщений по каналам связи с шумами...

Родовидовые определения. Правила определения понятий
Родовидовым назовем определение через род и видовое отличие. Родовидовое определение имеет следующую структ уру: А= dfВ и С, где А — определяемое… Например, для понятия стула — «предмет мебели», для понятия преступления —… Правила определения 1. Правило соразмерности. Прежде, чем описать, в чем заключается это правило, продолжим нашу…

Основные классы неорганических соединений. Определение молярной массы эквивалентов цинка. Определение теплоты реакции нейтрализации. Скорость химической реакции. Катализ
ВВЕДЕНИЕ... При изучении химии большое значение имеет лабораторный практикум Правильно поставленный эксперимент позволяет...

Определению физических свойств воздуха Животноводческих объектов
РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ БАШКИРСКИЙ...

0.039
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам