• Новостная рассылка

    Подпишитесь и получайте самые свежие новости.
    Подписаться на новостную рассылку
  • Объектно – ориентированное программирование в MATLAB

    Код тренинга: MLCO

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

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


    Предварительные требования

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

    Продолжительность 2 дня.


    Программа курса

    1. Создание пользовательских типов данных
    2. Разработка классов MATLAB
    3. Построение иерархии классов
    4. Создание множественных ссылок
    5. Написание модульных тестов
    6. Синхронизация объектов

    Заявка на тренинг


    Подробнее

    Подробная программа

    День 1

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

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

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

    Модуль 2. Разработка классов MATLAB

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

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

    Модуль 3. Построение иерархии классов

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

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


    День 2

    Модуль 4. Создание множественных ссылок

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

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

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

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

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

    Модуль 6. Синхронизация объектов

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

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

    Заявка на тренинг