Объектно-ориентированный подход
Наиболее развитый способ представления знаний в ЭС – это объектно-ориентированная парадигма. Этот подход является развитием фреймового представления. В его основе лежат понятия объект и класс.
Объект – общий термин, которым обозначается любая индивидуально выделяемая сущность. Класс – группа объектов, выделенная по определенному признаку.
В реальном мире, а точнее в интересующей разработчика предметной области, в качестве объектов могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. Например, объектами могут быть: покупатель; фирма, производящая определенные товары; банк; заказ на поставку. Объект обладает индивидуальностью и поведением, имеет атрибуты, значения которых определяют его состояние. Конкретный покупатель, делая заказ, может оказаться в состоянии, когда денег на его счете не хватает для оплаты, а его поведение в этом случае заключается в обращении в банк за кредитом.
Каждый объект – представитель некоторого класса однотипных объектов, для которых класс определяет общие свойства: состав и структура данных, описывающих атрибуты класса и соответствующих объектов, и совокупность методов – процедур, определяющих взаимодействие объектов этого класса с внешней средой. Например, описание класса “магазины” может включать такие атрибуты, (определяющие состояние объектов), как название и адрес, которые индивидуальны для каждого объекта этого класса – конкретного магазина, штат сотрудников, размер текущего счета, а также методы: формирование заказов на поставку товаров, передача товара со склада в торговую секцию и т.д.
|
|
Объекты и классы обладают характерными свойствами, которые активно используются при объектно-ориентированном подходе и во многом определяют его преимущества. Из этих свойств можно выделить следующие.
Инкапсуляция – скрытие информации. При объектно-ориентированном программировании имеется возможность запретить любой доступ к атрибутам объектов, он возможен только через его методы. Внутренняя структура объекта в этом случае скрыта от пользователя, объекты можно считать самостоятельными сущностями, отделенными от внешнего мира. Для того чтобы объект произвел некоторое действие, ему необходимо послать сообщение извне, которое инициирует выполнение нужного метода. Инкапсуляция позволяет изменять реализацию любого класса объектов без опасения, что это вызовет нежелательные побочные эффекты в программной системе. Это упрощает процесс исправления ошибок и модификации программ.
Наследование – возможность создавать из классов новые классы по принципу “от общего к частному”. Наследование позволяет новым классам при сохранении всех свойств классов-родителей (называемых в дальнейшем суперклассами) добавлять свои черты, отражающие их индивидуальность. С точки зрения программиста новый класс должен содержать только коды и данные для новых или изменяющихся методов. Сообщения, обработка которых не обеспечивается собственными методами класса, передаются суперклассу. Наследование позволяет создавать иерархии классов и является эффективным средством внесения изменений и дополнений в программные системы.
|
|
Полиморфизм – способность объектов выбирать метод на основе типов данных, принимаемых в сообщении. Каждый объект может реагировать по-своему на одно и то же сообщение. Полиморфизм позволяет упростить исходные тексты программ, обеспечивает их развитие за счет введения новых методов обработки
Таким образом, объектно-ориентированный подход заключается в представлении системы в виде совокупности классов и объектов предметной среды. При этом иерархический характер сложной системы отражается в виде иерархии классов, а ее функционирование рассматривается как взаимодействие объектов, с которыми ассоциируются, например продукционные правила. Ассоциирование продукционных правил ЭС с иерархией классов осуществляется за счет использования общих правил, в качестве префикса которых обычно применяется ссылка на класс, к которому приведено данное правило. Указанный префикс с точки зрения декларативного представления знаний семантически подобен квантору всеобщности в исчислении предикатов.
Дата добавления: 2019-07-15; просмотров: 173; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!