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

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

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

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

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



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

  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
Основные термины (генерируются автоматически): абстрактный класс, модель, виртуальная функция, класс, базовый класс, программная реализация, рыба, свойство.


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

Применение концепции модельно-ориентированного проектирования в разработке ПЛИС

Применение адаптивных фильтров для анализа сигналов

Использование конвергентного подхода в преподавании естественнонаучных дисциплин

Применение макросов при проектировании несущих конструкций в SolidWorks

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

Использование современных интерактивных методов и информационных компьютерных технологий при преподавании темы «Корпускулярные свойства света»

Использование 3D-моделирования для изучения полуправильных многогранников

Использование теоретико-игровых моделей для моделирования рынка B2B

Применение метода анализа иерархий для ранжирования бизнес-процессов

Применение средств библиотеки QT5 для программирования моделей электрических цепей

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

Применение концепции модельно-ориентированного проектирования в разработке ПЛИС

Применение адаптивных фильтров для анализа сигналов

Использование конвергентного подхода в преподавании естественнонаучных дисциплин

Применение макросов при проектировании несущих конструкций в SolidWorks

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

Использование современных интерактивных методов и информационных компьютерных технологий при преподавании темы «Корпускулярные свойства света»

Использование 3D-моделирования для изучения полуправильных многогранников

Использование теоретико-игровых моделей для моделирования рынка B2B

Применение метода анализа иерархий для ранжирования бизнес-процессов

Применение средств библиотеки QT5 для программирования моделей электрических цепей

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