Применение абстрактных классов в объектно-ориентированном программировании моделей биологических объектов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 29 февраля, печатный экземпляр отправим 4 марта.

Опубликовать статью в журнале

Библиографическое описание:

Коптенок Е. В., Дудлин А. Д., Капчерина А. А., Пескова М. Ю., Лядов В. С. Применение абстрактных классов в объектно-ориентированном программировании моделей биологических объектов // Молодой ученый. — 2020. — №4. — С. 19-22. — URL https://moluch.ru/archive/294/66853/ (дата обращения: 18.02.2020).



При помощи моделирования можно познавать мир, предсказывать поведение объекта, выявлять статистические данные, наблюдать за поведением моделей в определённых условиях. Моделирование — исследование объектов познания на их моделях; построение и изучение моделей реально существующих объектов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений, интересующих исследователя. Существуют разные способы моделирования. Моделирование проходит в три этапа:

  1. Создание модели.
  2. Изучение модели.
  3. Применение результатов исследования на практике и/или формулирование.

Всего видов моделирования очень много, вот некоторые из них:

Математические модели. Это знаковые модели, описывающие определенные числовые соотношения.

Графические модели. Визуальное представление объектов, которые настолько сложны, что их описание иными способами не дает человеку ясного понимания. Здесь наглядность модели выходит на первый план.

Имитационные модели. Позволяют наблюдать изменение поведения элементов системы-модели, проводить эксперименты, изменяя некоторые параметры модели.

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

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

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

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

Так как данные модели имеют работу с большим объёмом данных и множеством различных вычислений, для моделирования процесса проще всего и удобнее использовать компьютерное моделирование, в языках программирования есть для этого удобные инструменты, например, такой как применение абстрактных классов в объектно-ориентированном программировании. Чтобы разобраться, почему этот инструмент удобен, углубимся на примере в реализацию абстрактных классов в языке С++.

Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка и добавляя, при необходимости, новые свойства и методы. Наследование призвано отобразить такое свойство реального мира, как иерархичность.

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

Чисто виртуальная функция не имеет определения в базовом классе, лишь в производных классах. Класс в котором есть хоть одна чисто виртуальная функция называется абстрактным. Абстрактный класс не может создать объект.

Чтобы понять, что такое абстрактный класс приведу пример: рыба абстрактный класс, окунь, щука, плотва производные классы, при том самой рыбы по себе не существует, существует лишь определённый тип рыбы, имеющий её свойства, а также некоторые свои особенности.

На листинге 1 изображён пример использования абстрактного класса.

Как можно убедиться работа представлена с абстрактным классом очень удобно, наследуемые от класса Fish рыбы находятся в одном массиве, у которых вызывается один и тот же метод.

Листинг 1

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

Литература:

  1. НОУ ИНТУИТ | Лекция | Понятие модели и моделирования [Электронный ресурс]. — http://www.intuit.ru/studies/courses/643/lecture/11351
  2. Виртуальные функции (C++) | Microsoft Docs [Электронный ресурс]. — https://docs.microsoft.com/ru-ru/cpp/cpp/virtual-functions?view=vs-2017
  3. Абстрактные классы (C++) | Microsoft Docs [Электронный ресурс]. — https://docs.microsoft.com/ru-ru/cpp/cpp/abstract-classes-cpp?view=vs-2019
Основные термины (генерируются автоматически): абстрактный класс, модель, виртуальная функция, класс, базовый класс, программная реализация, рыба, свойство.


Похожие статьи

Принципы проектирования классов (SOLID) | Статья в журнале...

Абстракции — это абстрактные базовые классы, а поведения представляются производными от них классами.

Предположим, что имеется функция f, принимающая в качестве аргумента ссылку на некоторый базовый класс B. Предположим также, что при передаче функции f...

Реализация архитектурного шаблона MVC с использованием...

Базовый класс Model , который будет являться родительским для всех моделей приложения, определяется следующим образом

Изменяя реализацию классов вида , можно менять способ отображения данных для пользователя и внешнее оформление веб-страниц сайта.

Объектно-ориентированное программирование. | Молодой ученый

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

Методология объектно-ориентированного программирования на...

Наибольший интерес в классе представляет абстрактный класс (интерфейс) IAdviceSink, который позволяет вызывать методы клиентского объекта со стороны реализуемого класса в ответ на всякое изменение существенного состояния моделируемого объекта.

Обучение объектно ориентированной парадигме...

Изучение определений объекта и класса, как фундаментальных основ объектно-ориентированной методологии, дополняется такими понятиями, как свойства, состояние, поведение, индивидуальность объекта, реализация класса, отношения между классами...

Методы и средства проектирования информационных систем

Как итог моделирования получена диаграмма классов, позволяющая перейти к физической реализации системы.

Этап. Методы решения, характеристики. Разработка концептуальной модели ИС.

Разработка физической модели и программного обеспечения ИС.

Применение средств библиотеки QT5 для программирования...

Qt5 предоставляет базовый набор абстрактных классов для работы с графической сценой и берёт на себя многие аспекты обработки и отрисовки графики, предоставляет базовые классы для реализации Drag-and-drop механизма.

Построение алгоритма регулятора давления в методологии...

В результате получаем три базовых сущности – класс контроллера ( C ), класс насоса ( P ), класс

Итак, мы идентифицируем три класса-сущности, включаемых в контекст системы – класс

Реализация функций-членов классов при качественно выполненной инкапсуляции...

Разработка программного модуля по реализации функции...

В настоящее время технологии интеллектуальной обработки данных (ИОД) приобретают все большее распространение: они позволяют извлечь из необработанных данных ранее неизвестные, нетривиальные...

Анализ современных методов и программных средств...

Описание в каждом классе объектов допустимых обращений к ним и принятых форматов сообщений облегчает согласование и интеграцию ПО. Для всех подходов к проектированию сложных систем характерны также следующие особенности.

Похожие статьи

Принципы проектирования классов (SOLID) | Статья в журнале...

Абстракции — это абстрактные базовые классы, а поведения представляются производными от них классами.

Предположим, что имеется функция f, принимающая в качестве аргумента ссылку на некоторый базовый класс B. Предположим также, что при передаче функции f...

Реализация архитектурного шаблона MVC с использованием...

Базовый класс Model , который будет являться родительским для всех моделей приложения, определяется следующим образом

Изменяя реализацию классов вида , можно менять способ отображения данных для пользователя и внешнее оформление веб-страниц сайта.

Объектно-ориентированное программирование. | Молодой ученый

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

Методология объектно-ориентированного программирования на...

Наибольший интерес в классе представляет абстрактный класс (интерфейс) IAdviceSink, который позволяет вызывать методы клиентского объекта со стороны реализуемого класса в ответ на всякое изменение существенного состояния моделируемого объекта.

Обучение объектно ориентированной парадигме...

Изучение определений объекта и класса, как фундаментальных основ объектно-ориентированной методологии, дополняется такими понятиями, как свойства, состояние, поведение, индивидуальность объекта, реализация класса, отношения между классами...

Методы и средства проектирования информационных систем

Как итог моделирования получена диаграмма классов, позволяющая перейти к физической реализации системы.

Этап. Методы решения, характеристики. Разработка концептуальной модели ИС.

Разработка физической модели и программного обеспечения ИС.

Применение средств библиотеки QT5 для программирования...

Qt5 предоставляет базовый набор абстрактных классов для работы с графической сценой и берёт на себя многие аспекты обработки и отрисовки графики, предоставляет базовые классы для реализации Drag-and-drop механизма.

Построение алгоритма регулятора давления в методологии...

В результате получаем три базовых сущности – класс контроллера ( C ), класс насоса ( P ), класс

Итак, мы идентифицируем три класса-сущности, включаемых в контекст системы – класс

Реализация функций-членов классов при качественно выполненной инкапсуляции...

Разработка программного модуля по реализации функции...

В настоящее время технологии интеллектуальной обработки данных (ИОД) приобретают все большее распространение: они позволяют извлечь из необработанных данных ранее неизвестные, нетривиальные...

Анализ современных методов и программных средств...

Описание в каждом классе объектов допустимых обращений к ним и принятых форматов сообщений облегчает согласование и интеграцию ПО. Для всех подходов к проектированию сложных систем характерны также следующие особенности.

Задать вопрос