среда, 25 августа 2010 г.

Объектно ориентированный подход


Все-таки у меня пока не получается вплотную приблизиться к реализации той программы, которую я хочу сделать. Все потому, что надо сначала изучить основы языка Visual Basic.NET. А этих основ оказалось довольно много. Мы уже познакомились с первоначальными сведениями о языке, с условными операторами VB.NET, с циклами и операторами управления циклами. А теперь надо перейти к следующей теме.
Нам обязательно нужно узнать, что такое объектно ориентированный подход. Сейчас это очень популярный подход, его используют почти во всех крупных проектах. Но это не дань моде – именно с помощью объетно ориентированного подхода можно добиться существенного выигрыша в качестве программирования. Как? Читайте дальше.
В сегодняшней статья мы только узнаем, что это за подход. Я опишу его основные достоинства и то, что они могут дать нам на практике при реальном программировании. А уже в следующей статье я уже в коде покажу, как все это реализовать. Поэтому – обязательно приходите на мой блог еще много раз и подписывайтесь на обновления.
Итак – приступим. Что же такое объектно ориентированный подход? Это подход, основанный на использовании объектов (как логично вытекает из названия) и еще классов. То есть – в этом подходе оперируют двумя базовыми понятиями – объект и класс. Теперь давайте подробнее поговорим о них.
Класс – это структура, которая описывает что-то. Можно сравнить класс с чертежом. Чертеж – это только бумажка с линиями и обозначениями на ней. Этот чертеж, сам по себе, ничего не сможет сделать, это ничто. Никакого физического объекта (кроме листа) он не представляет. Класс – то же самое. Это просто описание, а не физическое представление.

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

У объекта могут быть различные параметры, которые описывают (или задают) его состояние. Обычно, такие параметры называют свойствами. Свойство – это очень важное понятие в объектно ориентированном подходе. Именно в свойствах сохраняются состояния созданных объектов. Свойства можно либо прочитать, либо установить. Например, если рассматривать указатель мыши как объект, то его свойством будет положение по оси X и Y, и эти свойства будут меняться тогда, когда будет менять свое положение указатель.
У объектов также существуют и методы – это процедуры и функции, которые реализуют какие-либо действия, которые можно сделать надо объектом (должны быть в описании класса), либо их может выполнять сам объект.
Для того, чтобы лучше понимать объекто ориентированный подход, нам необходимо еще рассмотреть три основных постулата (три основных понятия) ООП: инкапсуляция, наследование и полиморфизм:
Инкапсуляция – это скрытие от пользователя класса его внутренней структуры. «Общаться» с классом можно только с помощью открытых для доступа свойств и методов. Эти свойства и методы называют интерфейсной частью класса. Обычно делают так, чтобы в свойства напрямую нельзя было записать значение, можно лишь обратиться к соответствующему методу. Кроме того, если вы захотите поменять реализацию какого-нибудь метода – то вам можно будет это просто сделать, если вы оставите интерфейсную часть такой же, какой она была раньше.

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

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

Итак, сейчас я вкратце рассмотрел объектно ориентированный подход в теории. В следующих статьях я буду создавать классы и объекты уже на практике на языке Visual Basic.NET. Так что – почаще посещайте блог =)

Комментариев нет:

Отправить комментарий