Шаг 19.
Язык программирования Java.
Объектно-ориентированное программирование. Основные понятия

На этом шаге мы рассмотрим основные понятия объектно-ориентированного программирования

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

Весь код программ, написанный на языке программирования Java, должен находится в классах. Стандартная библиотека Java содержит несколько тысяч классов, предназначенных для решения самых разных задач, например, для построения пользовательского интерфейса, календарей, установления сетевых соединений и так далее. Несмотря на это, программирующие на Java продолжают создавать свои собственные классы, чтобы формировать объекты, характерные для разрабатываемого приложения, а также приспосабливать классы из стандартной библиотеки под свои нужды.

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

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

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

В ООП определены следующие свойства объектов:

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

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

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

На следующем шаге мы рассмотрим идентификацию классов

Предыдущий шаг Содержание Следующий шаг