Обсуждение:Matlab

Материал из MachineLearning.

Перейти к: навигация, поиск

В статье сказано, что в версии 2008a появилась поддержка работы с классами. Вообще классы появились уже в версии 2007b. Возможно, в 2008-й функциональность была расширена. Не знаю, в Release Notes не нашел. flashnik 00:46, 13 февраля 2009 (MSK)

О классах

Спасибо. Под возможностью работать с классами имеется в виду вот что. Классы были даже в R14, но работать с ними было очень непросто (см. help к этой версии).

  • В 2007 класс создается в теле function, с помощью конструктора class (см. Programming > Classes and Objects).
  • В 2008 класс создается в отдельном модуле и объявляется через classdef (см. doc classdef, к этой версии). Это не расширение функциональности, а принципиально иной механизм. Класс имеет properties, methods, events. Есть классы 2-х типов: первый тип является generic, второй наследуется от класса handle. Больше нет ничего. Handle обеспечивает listener для событий, инкапсуляцию и несколько методов. Я считаю, что классы можно использовать для работы с GUI, но нежелательно использовать для построения систем или для проведения вычислительных экспериментов. Документация по классам не полна, пример использования классов см. здесь. Заметим, что класс наследуется от handle.

Если кто-то использовал классы 2008 в работе, буду рад услышать комментарии на этой странице. В.В. Стрижов 11:28, 13 февраля 2009 (MSK)

Личные инструменты