Spec-Zone .ru
спецификации, руководства, описания, API
|
Объекты являются ключевыми к пониманию объектно-ориентированной технологии. Озирайтесь прямо сейчас, и Вы найдете много примеров реальных объектов: Ваша собака, Ваш стол, Ваш телевизор, Ваш велосипед.
Реальные объекты совместно используют две характеристики: у них всех есть состояние и поведение. У собак есть состояние (имя, цвет, порода, голодная) и поведение (лай, выборка, виляя хвостом). У велосипедов также есть состояние (текущий механизм, текущий тактовый сигнал педали, текущая скорость) и поведение (изменение скорости, изменяя тактовый сигнал педали, применяя тормоза). Идентификация состояния и поведения для реальных объектов является отличным способом начать думать с точки зрения объектно-ориентированного программирования.
Займите минуту прямо сейчас, чтобы наблюдать реальные объекты, которые находятся в Вашей непосредственной области. Для каждого объекта, который Вы видите, задайте себе два вопроса: "Каким возможным состояниям это может возразить быть в?" и, "Что может выполнить возможное поведение этот объект?". Удостоверьтесь, что записали свои наблюдения. Как Вы делаете, Вы заметите, что реальные объекты изменяются по сложности; у Вашей настольной лампы может быть только два возможных состояния (на и прочь), и два возможных поведения (включите, выключите), но у Вашего настольного радио могли бы быть дополнительные состояния (на, прочь, текущий объем, текущая станция) и поведение (включите, выключите, объем увеличения, объем уменьшения, ищите, отсканируйте, и мелодия). Можно также заметить, что некоторые объекты, поочередно, будут также содержать другие объекты. Эти реальные наблюдения все преобразовывают в мир объектно-ориентированного программирования.
Программный объект.
Программные объекты концептуально подобны реальным объектам: они также состоят из состояния и связанного поведения. Объектно-ориентированные памяти его состояние в полях (переменные в некоторых языках программирования) и представляет его поведение через методы (функции в некоторых языках программирования). Методы работают на внутреннем состоянии объекта и служат основным механизмом для передачи от объекта к объекту. Сокрытие внутреннего состояния и требование, чтобы все взаимодействие было выполнено через методы объекта, известны как скрытие данных — основной принцип объектно-ориентированного программирования.
Рассмотрите велосипед, например:
Велосипед, смоделированный как программный объект.
Приписывая состояние (текущая скорость, текущий тактовый сигнал педали, и текущий механизм) и обеспечивая методы для того, чтобы они изменили то состояние, объект остается под контролем того, как внешнему миру позволяют использовать это. Например, если у велосипеда только есть 6 механизмов, метод к коробкам передач мог бы отклонить любое значение, которое является меньше чем 1 или больше чем 6.
Связывание кода в отдельные программные объекты предоставляет много преимуществ, включая: