Главная » Статьи » Программирование | [ Добавить статью ] |
Об объектно–ориентированном программировании
Классическим способом создания компьютерных программ является структурное пронраммирование. Этот принцип появился в шестидесятых годах прошедшего столетия как ответ на кризис развития программного обеспечения, а его целью было обеспечение большей ясности создаваемых приложений. Этот эффект достигнут с помощью введения в языки программирования структур, таких как функции, процедуры и модули, которые ввели порядок и дисциплину в хаотически писавшийся до тех пор код. Одним из наиболее популярных структурных языков программирования является Pascal. Программируя на Pascal, следует сознавать. Что этот язык ориентируется на действие, что не всегда верно отражает моделируемую действительность.
Также мышление структурами чуждо и достаточно неестественно для большинства нормальных людей. Окружающую реальность мы воспринимаем скорее как мир объектов. При этом имеет значение умение человека абстрагироваться от частного. Это позволяет узнавать дом, не видя кирпичей, древесины и черепицы, из которых он построен, а компьютер воспринимать не как набор транзисторов, микросхем и километров соединительных проводов, а как единое целое. Люди, животные, растения, мебель, компьютеры, дома, транспорт – все воспринимается нами как объекты. Они имеют свое назначение и характерные черты, которые мы можем описать. Мы знаем, как они обычно ведут себя в окружающем нас мире, какие действия можно выполнить с их помощью. Знания такого рода стали основой для создания формальных определений, которые используют программисты.
Объекты – это абстрактные структуры, определенные на языке программирования и соответствующие элементам реального мира. Они являются сочетанием описывающих их данных (атрибутов) и методов (процедур и функций), служащих для манипуляции этими данными.
Объектно-ориентированное программирование (англ. Object Oriented Programming) позволяет моделировать объекты реального мира с помощью их виртуальных аналогов, предлагаемых языками программирования. Это в большей степени интуитивный способ создания программ по сравнению со структуральным программированием. Он заключается в описании моделируемых объектов с помощью атрибутов и методов. Кроме того, так же как это происходит в реальном мире, объекты могут общаться (взаимодействовать), что заметно облегчает моделирование связей между ними.
В традиционных языках программирования наименьшей программной единицей является процедура или функция. В объектном подходе таким элементом является класс. Он является основой для создания так называемых инстанций (англ. instance), то есть следующих экземпляров объектов. Большим достоинством объектного подхода является возможность повторного использования созданных ранее объектов во вновь разрабатываемых программах. Такая практика позволяет экономить время, необходимое для создания очередного приложения, а также намного повышает его надежность. Много раз используемый класс обычно тщательнее отработан. И вероятность наличия в нем ошибки гораздо меньше.
Объектно-ориентированное программирование базируется на трех основных, используемых во всех современных языках программирования понятиях: наследование, инкапсуляция и полиморфизм.
Для моделирования действительности при объектном подходе используются логические связи между классами. Одним из важнейших типов связей является наследование, когда атрибуты и методы одного класса используются для создания нового класса, причем этот последний может дополняться специфическими, только ему свойственными данными, функциями и методами.
Инкапсуляция обозначает объединение данных и методов их обработки в наборах, называемых объектами. Она также предоставляет возможность скрыть информацию. На практике это означает, что объекты взаимодействуют между собой с помощью известных методов, в то время как детали реализации выполняемых действий остаются скрытыми внутри объектов. Знание этих деталей не имеет существенного влияния на результаты выполняемых программами заданий подобно тому, как при использовании клавиатуры компьютера, чтобы правильно написать определенный текст, нет нужды знать об электрических сигналах, посылаемых клавиатурой в компьютер. Важной особенностью инкапсуляции является то, что она защищает объекты от неконтролируемого использования нескольких их атрибутов одновременно, что могло бы привести к катастрофическим последствиям. Достаточно представить себе ситуацию, когда две электронные системы в автомобиле вдруг решили, что нужно свернуть, причем одна посчитала, что из-за преграды на дороге следует свернуть влево, а вторая – вправо, поскольку сзади на обгон идет грузовик.
Последнее из понятий – полиморфизм – обозначает, что созданные реализации можно расширять. Методы в объектах-потомках имеют такие же имена, как и в материнских объектах, хотя могут выполнять уже другие действия. Таким образом, программист, вызывая метод определенного класса в иерархии наследования, не должен задумываться над тем, с каким классом он имеет дело.
Добавлено: 25.07.2010 | Просмотров: 3970 | Рейтинг: 0.0/0 |
Теги:
Комментарии (0) | |