Основные концепции ооп
(основные идеи объектно-ориентированного проектирования и объектно-ориентированного программирования одинаковы, т.к. разработанный проект реализуется на одном из объектно-ориентированных языков программирования)
Объектно-ориентированное программирование или ООП — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного типа, использующая механизм пересылки сообщений и классы, организованные в иерархию наследования.
Центральный элемент ООП — абстракция. Данные с помощью абстракции преобразуются в объекты, а последовательность обработки этих данных превращается в набор сообщений, передаваемых между этими объектами. Каждый из объектов имеет свое собственное уникальное поведение. С объектами можно обращаться как с конкретными сущностями, которые реагируют на сообщения, приказывающие им выполнить какие-то действия.
ООП характеризуется следующими принципами (по Алану Кею):
все является объектом;
вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие; объекты взаимодействуют, посылая и получая сообщения; сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия;
каждый объект имеет независимую память, которая состоит из других объектов;
каждый объект является представителем класса, который выражает общие свойства объектов данного типа;
в классе задается функциональность (поведение объекта); тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия;
классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования; память и поведение, связанное с экземплярами определенного класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Абстрагирование (abstraction) — метод решения задачи, при котором объекты разного рода объединяются общим понятием (концепцией), а затем сгруппированные сущности рассматриваются как элементы единой категории.
Абстрагирование позволяет отделить логический смысл фрагмента программы от проблемы его реализации, разделив внешнее описание (интерфейс) объекта и его внутреннюю организацию (реализацию).
Инкапсуляция (encapsulation) — техника, при которой несущественная с точки зрения интерфейса объекта информация прячется внутри него.
Наследование (inheritance) — свойство объектов, посредством которого экземпляры класса получают доступ к данным и методам классов-предков без их повторного определения.
Наследование позволяет различным типам данных совместно использовать один и тот же код, приводя к уменьшению его размера и повышению функциональности.
Полиморфизм (polymorphism) — свойство, позволяющее использовать один и тот же интерфейс для различных действий; полиморфной переменной, например, может соответствовать несколько различных методов.
Полиморфизм перекраивает общий код, реализующий некоторый интерфейс, так, чтобы удовлетворить конкретным особенностям отдельных типов данных.
Класс (class) — множество объектов, связанных общностью структуры и поведения; абстрактное описание данных и поведения (методов) для совокупности похожих объектов, представители которой называются экземплярами класса.
Объект (object) — конкретная реализация класса, обладающая характеристиками состояния, поведения и индивидуальности, синоним экземпляра.
При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов). Основными концепциями, характеризующими объектно-ориентированное программирование, являются наследование (сохранение производными объектами свойств базовых объектов) и инкапсуляция (изоляция определений объектов от методов управления ими), а также уже упомянутое понятие полиморфизма
- Раздел № 3 Программные средства реализации информационных процессов.
- Языки программирования
- Поколения языков программирования
- Уровни языков программирования
- Рекурсивная подпрограмма обычно выполняется медленнее, чем ее нерекурсивный аналог и сложнее отлаживается.
- Алгоритмический язык программирования
- Императивное программирование
- Декларативный язык программирования
- Языки программирования для Интернета
- Объектно-ориентированное программирование
- Основные концепции ооп
- Основы представления графических данных Виды компьютерной графики
- Представление графических данных Форматы графических данных
- Понятие цвета
- Раздел № 5
- Локальные и глобальные компьютерные сети.
- Понятие "открытая система"
- Обеспечение совместного использования аппаратных и программных ресурсов сети;
- Обеспечение совместного доступа к ресурсам данных.
- Появление стандартных технологий локальных сетей
- Сетевые операционные системы
- Аппаратное обеспечение средств защиты. Задачи аппаратного обеспечения защиты информации
- Сетевые черви
- Троянские программы
- Утилиты несанкционированного удаленного администрирования
- Утилиты для проведения dDoS-атак
- Серверы рассылки спама
- Многокомпонентные "троянцы"- загрузчики
- Административные меры борьбы с вирусами
- Персональные брандмауэры
- Брандмауэр, встроенный в Microsoft Windows xp