Классы и объекты (экземпляры класса), главные отличия класса от объекта.
Базовыми блоками объектно-ориентированной программы являются объекты и классы. Содержательно объект можно представить как что-то ощущаемое или воображаемое и имеющее хорошо определенное поведение. Таким образом, объект можно либо увидеть, либо потрогать, либо, по крайней мере, знать, что он есть, например, представлен в виде информации, хранимой в памяти компьютера. Дадим определение объекта, придерживаясь мнения Гради Буча: «Объект – осязаемая сущность, которая четко проявляет свое поведение».
Объект —
это часть окружающей нас реальности, т. е. он существует во времени и в пространстве (впервые понятие объекта в программировании введено в языке Simula ). Формально объект определить довольно трудно. Это можно сделать через некоторые свойства, а именно: объект имеет состояние, поведение и может быть однозначно идентифицирован (другими словами, имеет уникальное имя).
Класс —
это множество объектов, имеющих общую структуру и общее поведение. Класс — описание (абстракция), которое показывает, как построить существующую во времени и пространстве переменную этого класса, называемую объектом. Смысл предложений «описание переменных класса» и «описание объектов класса» один и тот же.
Объект
имеет состояние, поведение и паспорт (средство для его однозначной идентификации); структура и поведение объектов описаны в классах, переменными которых они являются .
Определим теперь понятия состояния, поведения и идентификации объекта.
Состояние объекта
объединяет все его поля данных (статический компонент, т.е. неизменный) и текущие значения каждого из этих полей (динамический компонент, т.е. обычно изменяющийся).
Поведение
выражает динамику изменения состояний объекта и его реакцию на поступающие сообщения, т.е. как объект изменяет свои состояния и взаимодействует с другими объектами.
Идентификация
(распознавание) объекта — это свойство, которое позволяет отличить объект от других объектов того же или других классов. Осуществляется идентификация посредством уникального имени (паспорта), которым наделяется объект в программе, впрочем как и любая другая переменная.
Выше уже говорилось, что процедурный (а также и модульный) подход позволяет строить программы, состоящие из набора процедур (подпрограмм), реализующих заданные алгоритмы. С другой стороны, объектно-ориентированный подход представляет программы в виде набора объектов, взаимодействующих между собой. Взаимодействие объектов осуществляется через сообщения. Предположим, что нашим объектом является окружность. Тогда сообщение, посланное этому объекту, может быть следующим: «нарисуй себя». Когда мы говорим, что объекту передается сообщение, то на самом деле мы вызываем некоторую функцию этого объекта (компонент-функцию). Так, в приведенном выше примере мы вызовем функцию, которая будет рисовать окружность на экране дисплея.
- Начальные сведения об объектно-ориентированном программировании (программа как динамический набор взаимодействующих объектов).
- Классы и объекты (экземпляры класса), главные отличия класса от объекта.
- Открытый интерфейс класса и его составляющие (свойства методы и события).
- Инкапсуляция и ее назначение.
- Понятие о полиморфизме, предназначение полиморфизма.
- Наследование и его использование для реализации полиморфизма.
- Понятие распределенного приложения. Клиенты и серверы.
- Пятислойная архитектура распределенных приложений.
- Архитектура, ориентированная на сервисы. Понятие об облачных вычислениях.
- Локальные и глобальные компьютерные сети. Internet.
- Сетевые протоколы и их роль в передаче данных.
- Стандарт xml, языки разметки html и xhtml.
- Дата-центры, провайдеры данных и прокси-серверы.
- Базы данных и хранилища данных.
- Понятие о сжатии информации и архивах. Примеры программ архивации Windows.
- Защита информации путем разграничения доступа.
- Защита информации путем шифрования.
- Цифровая подпись и ее назначение.
- Понятие о вредоносном программном обеспечении (вирусы и программы-шпионы).
- Средства борьбы с вредоносным по (на примерах Kaspersky Internet Security и Microsoft Security Essentials).
- Компьютер как средство связи. Коммуникаторы и смартфоны.
- Электронная почта (на примерах Microsoft Outlook и Windows Live).
- Понятие об электронной коммерции: интернет-магазины, платежные системы и т.П.
- Понятие о по для решения бизнес-задач (на примерах Microsoft Office и 1с Предприятие).