Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вмип.doc
Скачиваний:
2
Добавлен:
08.05.2019
Размер:
69.63 Кб
Скачать

Тема 1. Объектно-ориентированное программирование (ооп)

ООП – методология разработки программ, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, в свою очередь и объекты и классы характеризуются набором свойств, методов и событий. Язык VB является объектно-ориентированным языком, поэтому все функциональные часть приложения рассматриваются как объекты, характеризующимися некоторыми свойствами, способные выполнять определенные методы и генерировать события. Необходимо четко разделять понятия класс и объект. Класс является описанием объекта, в то время, как объект является конкретным представителем (экземпляром) определенного класса, например, понятие «автомобиль» описывает целый класс объектов, которые имеют 4 колеса, руль и умеют передвигаться, в то время как каждый конкретный автомобиль является объектом со своими размерами колес, количеством сидений, положением руля и скоростью передвижения.

  1. Основные принципы ооп

Основополагающими принципами ООП являются: абстрагирование, инкапсуляция, наследование и полиморфизм.

Абстрагирование.

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

Если мы создаем собственное приложение, то большую помощь при этом окажут собственные объекты. Например, программный код, характеризующий такие объекты, как фирмы, служащие, товары, счета и др.

Инкапсуляция

Объекты позволяют значительно упростить разработку приложений, в очень редких случаях разработчика интересует внутренняя реализация объектов (существующих), главное, чтобы объект обеспечивал функции, которые он должен предоставлять. Внутреннее же одержимое объекта и сложный механизм его действия должны быть защищены от внешнего вмешательства. Инкапсуляция как раз и поддерживает абстрагирование тем, что объект можно использовать, не зная, как он реализован внутри. Например, если вы хотите снять деньги со счета через банкомат, то без карточки это невозможно, т.к. содержимое банкомата защищено от доступа случайного клиента. Денежные автоматы защищены, т.е. инкапсулированы. На процессы, протекающие внутри банкомата, и его содержимое клиент не имеет прямого влияния. Взаимодействия клиента с объектом происходит через его интерфейс. В объектах VB.Net интерфейсом является свойства, методы и события. Только они предоставляются одним объектам в распоряжение других объектов. Благодаря этого система программирования предоставляет доступ других объектов (клиентов) к внутренним переменным состояния объекта, которые могут обрабатываться только предусмотренными для этого процедурами. Например, если имеется класс, предоставляющий возможность скачивать файл из интернета, то все функции соединения с сервером, проведения обмена, закрытия связи, все используемые переменные должны быть скрыты внутри этого класса, а пользователям класса нет никакой необходимости видеть все детали реализации этого класса. Это является очень важным моментом, т.к. в любом крупном проекте постоянные изменения приводят к тому, что в любой момент времени детали реализации класса могут измениться, и все разработчики, которые использовали эти детали реализации, обнаружат свой код в неработающим состоянии. Отследить это невозможно. Поэтому нельзя допускать таких ситуаций. Инкапсуляция кода внутри класса приведет к тому, что изменение детали и реализации отдельных классов не приведет к прекращению правильного функционирования программ, использующих эти классы, а для расширения функциональности классов следует использовать наследование и полиморфизм.

Наследование

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

Полиморфизм

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]