КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Объектно-ориентированное программирование
Связные списки. Указатель можно включить в состав записи, например Type Workerptr = ^Workerrec; Workerrec = record Name: string [20]; Number: integer; Salary: real; Nextworker: Workerptr; end; Var Worker: Workerptr; При первом обращении к процедуре New мы передаем указатель Worker. Созданная запись содержит поле с указателем Nextworker, который можно передать следующей процедуре New, чтобы она создала следующую запись. New(Worker^.Nextworker); Можно организовать перемещение вдоль записи от одного элемента к другому, следуя указателям связи. Такой процесс называется сквозным проходом по списку. Элемент, стоящий в самом конце списка должен содержать в своем поле Nextworker константу nil. К сквозному проходу по списку приходится прибегать, например, для извлечения значений из имеющихся элементов. Например: Var Listptr: Workerptr; «---------------------» Listptr: worker; While Lisptr <> nil do begin writeln(Lisptr^.name); Lisptr:= Lisptr^.Nextworker; end; Например: Ввести с клавиатуры ряд символов, затем вывести их на экран дисплея в обратном порядке. Признак конца ввода символ «_». Program ObrStrok; Const Stop_symbol = ‘_’; Type Uk = ^Stroka; Stroka = record Sym: char; Adr: Uk; end; Var Element, Sled_element: Uk; Sim: char; Begin Element:= nil; Writeln(‘Введите строку символов’); Repeat Read(Sim); Sled_element:= Element; New(Element); Element^.Sym:= Sim; Element^.Adr:= Sled_element; Until (Sim = Stop_symbol); { Вывод } Repeat Write(Element^.Sym); Sled_element:= Element^.Adr; Dispose(Element); Element:= Sled_element; Until (Element = nil); End. Введение объектных типов означает достаточно радикальные изменения в самом подходе к программированию. Это, разумеется, не означает, что традиционный подход к разработке программ теряет свое значение. Речь идет о согласованной совокупности новых принципов и понятий, позволяющих существенно повысить производительность труда программистов, сделать программы более компактными и легко расширяемыми. В какой мере эти новые подходы будут использоваться, - дело самих программистов. Появившись впервые в начале 80-х годов, этот термин (object-oriented programming) был связан с семейством языков Smalltalk, который, в свою очередь, использовал некоторые понятия известного с 60-х годов языка Simula-67. К настоящему времени многие распространенные языки, первоначально рассчитанные на традиционный подход к программированию, содержат ряд объектно-ориентированных расширений. Программы, написанные в объектно-ориентированном стиле, преобразуются компиляторами в высокоэффективный код, что позволяет широко использовать новые понятия для разработки законченных программных продуктов. В основе ООП лежит идея объединения в одной структуре данных и действий, которые производятся над этими данными. Действия, которые в ООП называются методами, представляют по существу подпрограммы для обработки данных. ООП базируется на трёх основных понятиях: инкапсуляция, наследование, полиморфизм. Инкапсуляция – это объединение данных с процедурами и функциями, которые манипулируют этими данными. В результате получается новый тип данных – объектный тип. Наследование – это возможность использования уже определённых объектных типов для построения других объектов, производных от них. Каждый из «наследников» наследует описания данных «прародителя» и доступ к методам их обработки. Иерархия объектов в общем случае может иметь древовидную структуру. Потомок обладает характеристиками предка, а также собственными характеристиками. Полиморфизм – это возможность определения единого по имени действия (процедуры или функции), применимого одновременно ко всем объектам иерархии наследования. Каждый объект иерархии может определять особенность реализации этого действия над «самим собой».
Дата добавления: 2014-01-11; Просмотров: 318; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |