04 декабря 2009

Что такое ООП?

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

Пример
Проще всего понять этот принцип можно на примере транспортного средства. В мире есть огромное количество самых разных транспортных средств - автомобили, самолеты, гужевые и т.д. Что общего у них всех? Они позволяют перевозить людей и грузы на дальние расстояния. Больше у них нет практически ничего общего. В данном случае, классом будет являться "Транспортное средство" с одним данным(полем данных класса) "Возможность перевозить на дальние расстояния". Заметьте, что "Транспортное средство" мы не сможем использовать, пока не уточним что именно оно из себя представляет! А вот если взять уже конкретный автомобиль - его можно назвать объектом, потому что он готов к использованию и у него есть свои особые свойства: форма, цвет, количество колес и т.д.
Допустим, что мы купили 1 красный BMW, 1 белый самолет и 1 синий мотоцикл. Итого у нас есть целых 3 объекта - наследника базового класса "Транспортное средство" (о наследовании написано чуть ниже). Но при этом класс у нас остается всего 1! Внеся изменения в этот базовый класс, мы изменим все 3 наших объекта сразу!
Возможно, что вы еще не знакомы с принципом ООП, поэтому вам кажется, что это все жутко сложно. Поверьте, это не так. Без ООП нам пришлось бы создавать эти 3 объекта вручную, что при малейших изменениях приводило бы к ужасной головной боли!

Основные понятия ООП
Объектно-ориентированное программирование базируется на нескольких понятиях. О них вы сможете узнать из других статей на сайте студентов-партнеров Microsoft, но краткое описание стоит прочитать уже сейчас.
Абстракция данных. Можно делать упрощенные классы, в которых не вся информация конкретизирована, но с которыми легче работать. Это позволяет очень просто создавать нужные классы при наследовании.
Наследование. На базе одного класса, создается другой класс, содержащий свойства и методы базового класса, его называют потомком. Пример из жизни - я потомок моих родителей, при этом у меня есть все их свойства с некоторыми дополнениями/изменениями.
Инкапсуляция. Чтобы пользователь наших программ не мог изменить что-то важное внутри программы, классы строятся таким образом, что напрямую работать с внутренними данными нельзя - только через специальные методы.
Полиморфизм. Функции(методы) с одинаковыми именами будут обрабатываться по-разному при их вызове из разных классов.

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

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