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

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

(Различия между версиями)
Перейти к: навигация, поиск
(О классах)
Строка 4: Строка 4:
== О классах ==
== О классах ==
-
Спасибо. Под возможностью работать с классами имеется в виду вот что. Классы были даже в R14, но работать с ними было очень непросто (см. help к этой версии).
+
Спасибо за внимание к теме. Под возможностью работать с классами имеется в виду вот что. Классы были даже в R14, но работать с ними было очень непросто (''см. help к этой версии'' или [http://students.washington.edu/lum/website_professional/matlab/tutorials/Class_Tutorial/class_tutorial.pdf руководство]).
-
* В 2007 класс создается в теле function, с помощью конструктора class (см. Programming > Classes and Objects).
+
* В 2007 класс создается в теле function, с помощью конструктора class (''см. Programming > Classes and Objects'').
-
* В 2008 класс создается в отдельном модуле и объявляется через classdef (см. doc classdef, к этой версии). Это не расширение функциональности, а принципиально иной механизм. Класс имеет properties, methods, events. Есть классы 2-х типов: первый тип является generic, второй наследуется от класса handle. Больше нет ничего. Handle обеспечивает listener для событий, инкапсуляцию и несколько методов. Я считаю, что классы можно использовать для работы с GUI, но нежелательно использовать для построения систем или для проведения вычислительных экспериментов. Документация по классам не полна, пример использования классов [http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_oop/brhzttf.html&http://www.google.com/search?q=matlab+bankaccount+class&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a см. здесь]. Заметим, что класс наследуется от handle.
+
* В 2008 класс создается в отдельном модуле и объявляется через classdef (''см. doc classdef к этой версии''). Это не расширение функциональности, а принципиально иной механизм. Класс имеет properties, methods, events. Есть классы 2-х типов: первый тип является generic, второй наследуется от класса handle. Больше нет ничего. Handle обеспечивает listener для событий, инкапсуляцию и несколько методов. Я считаю, что классы можно использовать для работы с GUI, но нежелательно использовать для построения систем или для проведения вычислительных экспериментов. Документация по классам не полна, пример использования классов [http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_oop/brhzttf.html&http://www.google.com/search?q=matlab+bankaccount+class&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a см. здесь]. Заметим, что класс наследуется от handle.
Если кто-то использовал классы 2008 в работе, буду рад услышать комментарии на этой странице. [[Участник:strijov|В.В. Стрижов]] 11:28, 13 февраля 2009 (MSK)
Если кто-то использовал классы 2008 в работе, буду рад услышать комментарии на этой странице. [[Участник:strijov|В.В. Стрижов]] 11:28, 13 февраля 2009 (MSK)

Версия 08:49, 13 февраля 2009

В статье сказано, что в версии 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)

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