Spec-Zone .ru
спецификации, руководства, описания, API
След: Изучение Языка Java
Урок: Понятия Объектно-ориентированного программирования
Каков Объект?
Домашняя страница > Изучение Языка Java > Понятия Объектно-ориентированного программирования

Каков Объект?

Объекты являются ключевыми к пониманию объектно-ориентированной технологии. Озирайтесь прямо сейчас, и Вы найдете много примеров реальных объектов: Ваша собака, Ваш стол, Ваш телевизор, Ваш велосипед.

Реальные объекты совместно используют две характеристики: у них всех есть состояние и поведение. У собак есть состояние (имя, цвет, порода, голодная) и поведение (лай, выборка, виляя хвостом). У велосипедов также есть состояние (текущий механизм, текущий тактовый сигнал педали, текущая скорость) и поведение (изменение скорости, изменяя тактовый сигнал педали, применяя тормоза). Идентификация состояния и поведения для реальных объектов является отличным способом начать думать с точки зрения объектно-ориентированного программирования.

Займите минуту прямо сейчас, чтобы наблюдать реальные объекты, которые находятся в Вашей непосредственной области. Для каждого объекта, который Вы видите, задайте себе два вопроса: "Каким возможным состояниям это может возразить быть в?" и, "Что может выполнить возможное поведение этот объект?". Удостоверьтесь, что записали свои наблюдения. Как Вы делаете, Вы заметите, что реальные объекты изменяются по сложности; у Вашей настольной лампы может быть только два возможных состояния (на и прочь), и два возможных поведения (включите, выключите), но у Вашего настольного радио могли бы быть дополнительные состояния (на, прочь, текущий объем, текущая станция) и поведение (включите, выключите, объем увеличения, объем уменьшения, ищите, отсканируйте, и мелодия). Можно также заметить, что некоторые объекты, поочередно, будут также содержать другие объекты. Эти реальные наблюдения все преобразовывают в мир объектно-ориентированного программирования.

Круг с внутренним кругом, заполненным элементами, окруженными серыми методами представления клиньев, которые предоставляют доступ к внутреннему кругу.

Программный объект.


Программные объекты концептуально подобны реальным объектам: они также состоят из состояния и связанного поведения. Объектно-ориентированные памяти его состояние в полях (переменные в некоторых языках программирования) и представляет его поведение через методы (функции в некоторых языках программирования). Методы работают на внутреннем состоянии объекта и служат основным механизмом для передачи от объекта к объекту. Сокрытие внутреннего состояния и требование, чтобы все взаимодействие было выполнено через методы объекта, известны как скрытие данных — основной принцип объектно-ориентированного программирования.

Рассмотрите велосипед, например:

Изображение объекта, с bibycle методами и переменными экземпляра.

Велосипед, смоделированный как программный объект.


Приписывая состояние (текущая скорость, текущий тактовый сигнал педали, и текущий механизм) и обеспечивая методы для того, чтобы они изменили то состояние, объект остается под контролем того, как внешнему миру позволяют использовать это. Например, если у велосипеда только есть 6 механизмов, метод к коробкам передач мог бы отклонить любое значение, которое является меньше чем 1 или больше чем 6.

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

  1. Модульный принцип: исходный код для объекта может быть записан и сохраняться независимо от исходного кода для других объектов. После того, как создаваемый, объект может быть легко роздан в системе.
  2. Сокрытие информации: взаимодействуя только с методами объекта, детали его внутренней реализации остаются скрытыми от внешнего мира.
  3. Повторное использование кода: Если объект уже существует (возможно, записанный другим разработчиком программного обеспечения), можно использовать тот объект в своей программе. Это позволяет специалистам реализовывать/тестировать/отлаживать сложные, специфичные для задачи объекты, которые можно тогда доверить, чтобы работать в Вашем собственном коде.
  4. Pluggability и отлаживающий непринужденность: Если определенный объект, оказывается, проблематичен, можно просто удалить его из своего приложения и включить различный объект как его замену. Это походит на механические неисправности фиксации в реальном мире. Если болт повреждается, Вы заменяете его, не вся машина.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Понятия Объектно-ориентированного программирования
Следующая страница: Каков Класс?