Описание ряда возможностей объектно-ориентированного программирования в MATLAB
Описание ряда возможностей объектно-ориентированного программирования в MATLAB

Что входит в курс:

  • Определение надежных, интуитивно понятных и многократно используемых пользовательских типов данных;

  • Создание удобного в сопровождении и расширяемого приложения с помощью наследования и агрегирования;

  • Создание надежного и гибкого приложения с модульным тестированием;

  • Включение синхронизации объектов с использованием событий и слушателей.

Предварительная подготовка:

MLPR или эквивалентный опыт работы в MATLAB.

Продолжительность курса - 2 дня.

Описание ряда возможностей объектно-ориентированного программирования в MATLAB Описание ряда возможностей объектно-ориентированного программирования в MATLAB

Программа

День 1

  • Создание пользовательских типов данных.
  • Разработка классов MATLAB.
  • Построение иерархии классов.

День 2 

  • Создание множественных ссылок.
  • Написание модульных тестов.
  • Синхронизация объектов.

Создание пользовательских типов данных

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

  • Создание пространства имен, хранящих множество файлов в пакете;
  • Инкапсуляция данных и функциональность в файле определения одного класса;
  • Документирование пользовательских типов данных;
  • Создание и использование переменных пользовательских типов данных.

Разработка классов MATLAB

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

  • Определение безопасных взаимодействий через методы доступа к данным;
  • Разработка интерфейса открытого класса со свойствами и атрибутами методов;
  • Настройка стандартных операторов для своих классов;
  • Как избежать дублирования кода за счет внутренней реорганизации кода.

Построение иерархии классов

Установление связи подобных классов через общий суперкласс. Расширение общего суперкласса, уточняя его поведение в подклассах.

  • Создание суперкласса через абстракции;
  • Наследование от суперкласса;
  • Определение абстрактных свойств и методов;
  • Реализация специализированного поведения в подклассах.

Создание множественных ссылок

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

  • Создание обозревателя класса, содержащий класс данных;
  • Написание контекстно зависимого (полиморфного) кода;
  • Ссылка на один объект данных из нескольких объектов объектов просмотра;
  • Выбор между классом по значению и по ссылке.

Написание модульных тестов

Доказательство правильного поведения путем записи модульных тестов для соответствующего блока кода. Использование общей схемы модульного тестирования в MATLAB. Повышение качества и стабильности программного обеспечения.

  • Обзор схемы модульного тестирования в MATLAB;
  • Написание метода теста;
  • Создание тестовой среды с помощью методов setup и teardown;
  • Параметризация метода тестирования;
  • Тестирование на наличие ошибок;
  • Агрегирование и выполнение наборов тестов;
  • Запись тестов и покрытие результатов.

Синхронизация объектов

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

  • События, слушатели и обратные вызовы;
  • Использование предопределенных свойств событий;
  • Запросы метаинформации класса;
  • Определение свойств слушателей;
  • Реализация функции обратного вызова;
  • Определение пользовательских событий и их обратных вызовов.

Услуги

Тренинги

Продукты