Использование «этого» в каждом классе MATLAB - PullRequest
7 голосов
/ 16 января 2012

Почему в каждом классе в MATLAB я должен использовать «это»?Я думаю, что в C ++ мне не нужно использовать «это», только если я хочу.Это также относится и к MATLAB?

1 Ответ

9 голосов
/ 16 января 2012

Короче говоря, вы должны использовать какую-то явную ссылку.

Прежде всего, в отличие от C ++ / C # / Java, где она называется this ,Вы можете использовать любое имя, которое хотите.Причина, по которой вы должны использовать явные вызовы, - решение дизайнеров Matlab .Идея заключалась в том, чтобы поддерживать векторные операции Matlab над объектами, как если бы они были структурами.Ниже приведен фрагмент приведенной выше ссылки:

Хотя языки с неявным параметром объекта предоставляют ключевое слово «this» для доступа к неявному объекту, они обычно не требуют доступа к свойству через »этот".Если бы у MATLAB были неявные свойства, логическим расширением объектов на основе массива было бы индексирование в ничто:
S = S + (k). Значение;

Редактировать: После хорошего комментария @AndrewJanke я хотел бы добавить, что MATLAB мог иметь this в качестве неявной ссылки и использовать его только при индексации объектов на основе массива.Тем не менее, этот подход не был выбран дизайнерами MATLAB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...