ООП - передача сообщений в C#

Что относительно этого:

string tabs = new String('\t', n);

, Где n количество раз, Вы хотите повторить строку.

Или лучше:

static string Tabs(int n)
{
    return new String('\t', n);
}
6
задан skaffman 27 July 2009 в 16:09
поделиться

3 ответа

Вызовы методов.

Это называется передачей сообщений, чтобы отличить это от императивного понятия «вызов функции» и укрепить идею о том, что принимающий объект решает, что делать. На сайте вызова вы просто сообщаете получателю «сообщение».

Примером могут быть методы, абстрактные в классе и реализованные в подклассах; или реализации метода интерфейса. Когда вы вызываете, например, GetEnumerator () через переменную типа IEnumerable , вы не знаете на сайте вызова, какой код действительно должен быть выполнен.

7
ответ дан 9 December 2019 в 22:38
поделиться

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

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

Другой заключается в том, что для нескольких методов может потребоваться одна и та же информация, поэтому ее можно определить и изменить в одном месте.

2
ответ дан 9 December 2019 в 22:38
поделиться

Некоторые считают, что передача сообщений и вызов методов отличаются. Мы используем этот термин взаимозаменяемо, но значение неуловимо.

В smalltalk передача сообщений была ограничена временем выполнения, и у объекта был способ определить, может ли он обработать сообщение, которое не было явно определено как метод. Ruby вызывает это method_missing. В частности, методы в C ++ связаны во время компиляции без возможности динамического добавления способов обработки большего количества сообщений. В C # 4.0 есть смесь, как только вы начинаете бросать динамику.

Есть другая школа передачи сообщений, Эрланг считает, что все аргументы сообщения должны быть разделены по состоянию. То есть они либо неизменяемы, либо копии.

2
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: