- •Програмування
- •1. Мови програмування та їх класифікація.
- •2. Типи даних. Стандартні типи даних (арифметичний та символьний).
- •3. Структуровані дані та їх типи. Масиви.Приклади обробки масивів.
- •4.Файли. Послідовні та з прямим доступом.
- •5. Процедури та функції як засоби структуризації програм. Виклики процедур та функцій.
- •6. Первинні оператори. Оператор присвоєння.
- •7. Оператор вводу-виводу (на прикладі конкретної мови програмування).
- •8.Функціональне програмування Свойства функциональных языков Строгая типизация
- •Модульность
- •Функции - это значения
- •Языки функционального программирования
- •9. Поняття про структурне програмування
- •10.Поняття про об’єктно-орієнтоване програмування.
10.Поняття про об’єктно-орієнтоване програмування.
Основная идея - реальные объекты обладают тремя базовыми характеристиками: имеют набор свойств, способны разными методами изменять эти свойств и реагировать на события, возникающие как внутри, так и вне объекта.
Объекты, имеющие идентичную структуру и отличающиеся значениями свойств, объединяются в классы. Каждый конкретный объект является экземпляром класса.
Положения ООП, сформулированные Алан Кей:
-
Все является объектом
-
Вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некое действие. Объекты взаимодействуют, посылая и получая сообщение. Сообщение - это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
-
Каждый объект имеет независимую память, которая состоит из других объектов.
-
Каждый объект является представителем класса, который выражает общие свойства объектов (таких, как целые числа или списки).
-
В классе задается поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определенного класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Метод объектно-ориентированного проектирования основывается на:
-
модели построения системы как совокупности объектов абстрактного типа данных;
-
модульной структуре программ;
-
нисходящем проектировании, используемом при выделении объектов.
Объектно-ориентированный подход использует следующие базовые понятия:
-
объект;
-
свойство объекта;
-
метод обработки;
-
событие;
-
класс объектов.
Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).
Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.
Свойство - характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Объект обладает качественной определенностью, что позволяет выделить его из множества других объектов и обусловливает независимость создания и обработки от других объектов.
Метод - программа действий над объектом или его свойствами.
Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.
Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.
Событие - изменение состояния объекта.
Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.
Объекты могут объединяться в классы ( группы или наборы - в различных программных системах возможна другая терминология).
Класс - совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Один объект может выступать объединением вложенных в него по иерархии других объектов.
Существуют различные объектно-ориентированные технологии и методики проектирования программных продуктов, которые должны обеспечить выполнение важнейших принципов объектного подхода:
-
инкапсуляция (замыкание) свойств данных и программ в объекте;
-
наследование;
-
полиморфизм.
Инкапсуляция означает сочетание структур данных с методами их обработки в абстрактных типах данных - классах объектов.
Класс может иметь образованные от него подклассы. При построении подклассов осуществляется наследование данных и методов обработки объектов исходного класса. Механизм наследования позволяет переопределить или добавить новые данные и методы их обработки, создать иерархию классов.
Полиморфизм - способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов.