OOП Инна Исаева
Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит в организации работы программы и запуск остальных программ.
Большая программа Подпрограмма 1 Подпрограмма 2 Подпрограмма 3 Подпрограмма 4 Большая программа разделённая на подпрограммы
Преимущества Не большие по размеру подпрограммы легко читать и модифицировать. Подпрограмма изолирует инструкции, решающие одну задачу, от других инструкций программы.
Библиотеки подпрограмм Разбиение большой программы на несколько небольших подпрограмм – не что иное, как способ упорядочения и организации кода программы. Подпрограммы хранятся в отдельных файлах, например один файл может содержать подпрограммы с математическими вычислениями, другой файл может содержать подпрограммы с графическими элементами.
Главная подпрограмма Подпрограмма A Подпрограмма B Подпрограмма C Подпрограмма D Подпрограммы, хранящиеся в отдельных файлах
Объектно-ориентированное программирование 3 основных (базовых) понятия ООП остаются неизменными. К ним относятся: Наследование (Inheritance) Инкапсуляция (Encapsulation) Полиморфизм (Polymorphism) ООП позволяет разложить проблему на связанные между собой задачи. Каждая проблема становится самостоятельным объектом, содержащим свои собственные коды и данные, которые относятся к этому объекту. В этом случае исходная задача в целом упрощается, и программист получает возможность оперировать с большими по объему программами.
Объекты Объект- это осязаемая сущность, которая четко проявляет свое поведение. Объект состоит из следующих трех частей: имя объекта; состояние (переменные состояния); методы (операции). Объект ООП - это совокупность переменных состояния и связанных с ними методов(операций). Эти методы определяют как объект взаимодействует с окружающим миром. Возможность управлять состояниями объекта посредством вызова методов в итоге и определять поведение объекта. Эту совокупность методов часто называют интерфейсом объекта.
Класс (class) - это группа данных и методов(функций) для работы с этими данными. Это шаблон. Объекты с одинаковыми свойствами, то есть с одинаковыми наборами переменных состояния и методов, образуют класс. Объект (object)- это конкретная реализация, экземпляр класса. В программировании отношения объекта и класса можно сравнить с описанием переменной, где сама переменная(объект) является экземпляром какого-либо типа данных(класса).
Методы (methods)- это функции(процедуры), принадлежащие классу. Сообщение (message)- это практически тоже самое, что и вызов функций в обычном программировании. В ООП обычно употребляется выражение "послать сообщение" какому-либо объекту. Понятие "сообщение" в ООП можно объяснить с точки зрения основ ООП: мы не можем напрямую изменить состояние объекта и должны как бы послать сообщение объекту, что мы хотим так и так изменить его состояние. Объект сам меняет свое состояние, а мы только его просим об этом посылая сообщения.
Инкапсуляция Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает и то и другое от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект. Переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его методов(операций). Это существенно ограничивает возможность введения объекта в недопустимое состояние и/или несанкционированное разрушение этого объекта.
Наследование Наследование - это процесс, посредством которого, один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него. Класс, из которого наследуют называют родительским классом (parent class) или основой класса(base class). Класс, который получаем в результате наследования называется порожденным классом (derived or child class). Родительский класс всегда считается более общим и развернутым. Порожденный же класс всегда более строгий и конкретный, что делает его более удобным в применении при конкретной реализации.
ООП - это процесс построения иерархии классов. А одним из наиболее важных свойств ООП является механизм, по которому типы классов могут наследовать характеристики из более простых, общих типов. Этот механизм называется наследованием. Наследование обеспечивает общность функций, в то же время допуская столько особенностей, сколько необходимо.
Полиморфизм Полиморфизм - это свойство, которое позволяет одно и тоже имя использовать для решения нескольких технически разных задач. В общем смысле, концепцией полиморфизма является идея "один интерфейс, множество методов". Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
Механизм работы ООП в таких случаях можно описать примерно так: при вызове того или иного метода класса сначала ищется метод у самого класса. Если метод найден, то он выполняется и поиск этого метода на этом завершается. Если же метод не найден, то обращаемся к родительскому классу и ищем вызванный метод у него. Если найден - поступаем как при нахождении метода в самом классе. А если нет - продолжаем дальнейший поиск вверх по иерархическому дереву. Вплоть до корня(верхнего класса) иерархии.
Объект А Инструкция А1 Инструкция А2 Инструкция А3 Объект В Инструкция В1 Инструкция В2 Объект В Инструкция А1 Инструкция А2 Инструкция А3 Инструкция В1 Инструкция В2 Подпрограмма А Инструкция А1 Инструкция А2 Инструкция А3 Подпрограмма А Инструкция А1 Инструкция А2 Инструкция А3 Инструкция В1 Инструкция В2 При копировании программ создаются копии программ Выглядит так.. А ведёт себя так.. Объекты позволяют повторно использовать код без его физического копирования