Понятие объектно-ориентированного программирования
Стр 1 из 4Следующая ⇒ Введение
В начале 1980-ых годов появились персональные компьютеры. Они быстро вошли во все сферы человеческой жизни, но вместе с ними появилось много разнообразных проблем. Одна из них - защита информации. По данным статистики, более 90% компаний и агентств несут огромные финансовые убытки именно из-за нарушения безопасности данных. Защита информации в процессе ее хранения, сбора, а также обработки имеет огромное значение. Проблема защиты информации от несанкционированного доступа есть совокупность проблем в областях права, организации управления, разработки технических средств, программирования и математики. Под защитой информации имеют в виду решение следующих задач: проверка целостности информации; исключение незаконного доступа к программам и данным, которые защищаются; защита программ от копирования. Причинами проблем защиты информации являются следующие: высокие темпы роста парка ПЭВМ; широчайшее применение ПЭВМ в различных сферах человеческой деятельности; большая концентрация информации в ПЭВМ; множество способов доступа пользователей к ресурсам ПЭВМ. Возможности программирования всегда были ограничены либо возможностями компьютера, либо возможностями человека. В прошлом веке главным ограничением были низкие производительные способности компьютера. В настоящее время физические ограничения отошли на второй план. Со всё более глубоким проникновением компьютеров во все сферы человеческой деятельности, программные системы становятся всё более простыми для пользователя и сложными по внутренней архитектуре. Программирование стало делом команды и на смену алгоритмическим идеологиям программирования пришли эвристические, позволяющие достичь положительного результата различными путями.
Базовым способом борьбы со сложностью программных продуктов стало объектно-ориентированное программирование (ООП), являющееся в настоящее время наиболее популярной парадигмой. ООП предлагает способы мышления и структурирования кода. ООП - методология программирования, основанная на представлении программного продукта в виде совокупности объектов, каждый из которых является экземпляром конкретного класса. ООП использует в качестве базовых элементов эвристическое взаимодействие объектов. Практическая и теоретическая значимость изучения средств объектно-ориентированного программирования в задачах защиты информации заключается в том, что представленные в работе теоретические аспекты изучаемого вопроса могут быть использованы при изучении данной темы, а практические разработки могут применяться на практике при обеспечении защите информации. Цель курсовой работы - изучить средства объектно-ориентированного программирования в задачах защиты информации. В соответствии с целью работы необходимо решить следующие задачи: проанализировать теоретические аспекты объектно-ориентированного программирования; раскрыть программную реализацию стека на языке С++; показать криптопреобразования на языке Turbo Pascal. Структура работы: состоит из введения, двух глав, заключения, списка использованных источников и приложения. Содержит 26 страниц, 3 рисунка, 1 приложение, 12 литературных источников.
Теоретические аспекты объектно-ориентированного программирования Понятие объектно-ориентированного программирования
По мере развития вычислительной техники создавались новые подходы, помогающие справляться с растущим усложнением программ. Использование структурного программирования при написании умеренно сложных программ принесло свои результаты, но оказывалось несостоятельным тогда, когда программа достигала определенной длины. Чтобы писать более сложные программы, были разработаны принципы объектно-ориентированного программирования (ООП). ООП - это новый подход к созданию программ.
ООП позволяет разложить проблему на составные части. В этом случае вся процедура упрощается, и появляется возможность оперировать с гораздо более объемными программами. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, относящиеся к нему. Объект - замкнутая независимая сущность, взаимодействующая с внешним миром через строго определенный интерфейс в виде принимаемых сообщений. Объекты обладают определенным набором свойств, методов и способностью реагировать на события (нажатие кнопок мыши, интервалы времени и т.д.). В отличие от процедурного программирования, где порядок выполнения операторов программы определяется порядком их следования и командами управления, в ООП порядок выполнения процедур и функций определяется событиями. Объекты с одинаковыми свойствами и поведением объединяются в классы. Программа на объектно-ориентированном языке представляет собой совокупность описаний классов. Классы, в свою очередь, представляют собой описания свойств и поведения составляющих их объектов. Свойства представляются другими, более простыми объектами. Поведение описывается обменивающимися сообщениями объектами. Объект - реальная именованная сущность, обладающая свойствами и проявляющая свое поведение. В применении к объектно-ориентированным языкам программирования понятие объекта и класса конкретизируется, а именно: Объект - обладающий именем набор данных (полей объекта), физически находящихся в памяти компьютера, и методов, имеющих доступ к ним. Имя используется для доступа к полям и методам, составляющим объект. В предельных случаях объект может не содержать полей или методов, а также не иметь имени. Любой объект относится к определенному классу. Класс содержит описание данных и операций над ними. В классе дается обобщенное описание некоторого набора родственных, реально существующих объектов. Объект - конкретный экземпляр класса.
Объектно-ориентированное программирование основано на принципах: абстрагирования данных; инкапсуляции; наследования; полиморфизма; «позднего связывания». Инкапсуляция (encapsulation) - принцип, объединяющий данные и код, манипулирующий этими данными, а также защищающий в первую очередь данные от прямого внешнего доступа и неправильного использования. Другими словами, доступ к данным класса возможен только посредством методов этого же класса. Наследование (inheritance) - это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним свойства и методы, характерные только для него. Наследование бывает двух видов: одиночное - класс (он же подкласс) имеет один и только один суперкласс (предок); множественное - класс может иметь любое количество предков (в Java запрещено). Полиморфизм (polymorphism) - механизм, использующий одно и то же имя метода для решения двух или более похожих, но несколько отличающихся задач. Целью полиморфизма применительно к ООП является использование одного имени для задания общих для класса действий. В более общем смысле концепцией полиморфизма является идея «один интерфейс, множество методов». Механизм «позднего связывания» в процессе выполнения программы определяет принадлежность объекта конкретному классу и производит вызов метода, относящегося к классу, объект которого был использован. Механизм «позднего связывания» позволяет определять версию полиморфного метода во время выполнения программы. Другими словами, иногда невозможно на этапе компиляции определить, какая версия переопределенного метода будет вызвана на том или ином шаге программы. Краеугольным камнем наследования и полиморфизма предстает следующая парадигма: «объект подкласса может использоваться всюду, где используется объект суперкласса». При вызове метода класса он ищется в самом классе. Если метод существует, то он вызывается. Если же метод в текущем классе отсутствует, то обращение происходит к родительскому классу и вызываемый метод ищется у него. Если поиск неудачен, то он продолжается вверх по иерархическому дереву вплоть до корня (верхнего класса) иерархии.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|