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



 

Наиболее развитый способ представления знаний в ЭС – это объектно-ориентированная парадигма. Этот подход является разви­тием фреймового представления. В его основе лежат понятия объект и класс.

 Объект – общий термин, которым обозначается любая индивидуально выделяемая сущность. Класс – группа объектов, выделенная по определенному признаку.

В реальном мире, а точнее в интересую­щей разработчика предметной области, в качестве объектов могут рассматриваться конкретные предметы, а также абстрактные или ре­альные сущности. Например, объектами могут быть: покупатель; фирма, производящая определенные товары; банк; заказ на поставку. Объект обладает индивидуальностью и поведением, имеет атрибуты, значения которых определяют его состояние. Конкретный поку­патель, делая заказ, может оказаться в состоянии, когда денег на его счете не хватает для оплаты, а его поведение в этом случае заключает­ся в обращении в банк за кредитом.

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

Объекты и классы обладают характерными свойствами, которые активно используются при объектно-ориентированном подходе и во многом определяют его преимущества. Из этих свойств можно выделить следующие.

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

Наследование – возможность создавать из классов новые классы по принципу “от общего к частному”. Наследование позволяет новым классам при сохранении всех свойств классов-родителей (называемых в дальнейшем суперклассами) добавлять свои черты, отражающие их индивидуальность. С точки зрения программиста новый класс должен содержать только коды и данные для новых или изменяющихся мето­дов. Сообщения, обработка которых не обеспечивается собственны­ми методами класса, передаются суперклассу. Наследование позволяет создавать иерархии классов и является эффективным средством внесе­ния изменений и дополнений в программные системы.

Полиморфизм – способность объектов выбирать метод на основе типов данных, принимаемых в сообщении. Каждый объект может реа­гировать по-своему на одно и то же сообщение. Полиморфизм позво­ляет упростить исходные тексты программ, обеспечивает их развитие за счет введения новых методов обработки

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

 

 


Дата добавления: 2019-07-15; просмотров: 173; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!