Иерархичность (наследование)

Ограничение доступа (инкапсуляция).

Принципы ООП.

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

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

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

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

Инкапсуляция реализует в объектно-ориентированном программировании принципы, предложенные Д. Парнасом, которые гласят:

· разработчик программного средства должен предоставлять пользователю всю информацию, которая нужна для эффективного использования этого ПС, и ничего, кроме этого;

· разработчик программного средства должен знать только требуемое поведение объекта и ничего, кроме этого.

3. Модульность — это принцип разработки программного средства — основной принцип парадигмы модульного программирования.

Иерархия — это упорядоченная система абстракций.

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

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

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

Наследование является вторым основным свойством ООП.

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

Язык PASCAL использует строгую степень типизации.

Типизация обеспечивает:

· раннее обнаружение ошибок, связанных с недопустимыми операциями над программными объектами, что происходит на этапе компиляции;

· упрощение документирования;

· возможность генерации более эффективного кода.

6. Параллелизм — это свойство нескольких абстракций одновременно находиться в активном режиме, выполняя некоторые операции.

Реальный параллелизм достигается только при реализации задач на многопроцессорных системах.

7. Устойчивость — это свойство абстракции существовать во времени, не зависимо от процесса, породившего данный процесс объекта.

Различают:

· временные объекты, хранящие промежуточные результаты некоторых действий (например, вычислений);

· локальные объекты, существующие внутри подпрограмм во время их работы;

· глобальные объекты, существующие пока программа загружена в память;

· сохраняемые объекты, данные которых хранятся в файлах внешней памяти между сеансами работы программы.

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

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

Полиморфизм является третьим основным свойством ООП.

Все указанные выше принципы в той или иной степени реализованы в различных версиях объектно-ориентированных языков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: