Тени по сравнению с перегрузками в VB.NET

В вашем основном js-файле, который содержит эти функции onclick, у вас должна быть глобальная переменная для хранения вашего numArray после вызова функции doStuff.

Примерно так:

let globalNumArray

// on click button doStuff
function (){
    globalNumArray = doStuff()
}

// on click button addArray
function() {
    addArray(globalNumArray)
}

Мой большой вопрос - когда я возвращаю numArray ... куда девается это значение?

Возвращаемое значение туда, где вы вызвали эту конкретную функцию.

22
задан Mark Hurd 19 June 2011 в 10:06
поделиться

3 ответа

Есть три тесно связанных концепции; переопределение, затенение и перегрузка.

Переопределение - это когда вы создаете новую реализацию для виртуального метода.

Затенение - это когда вы создаете новую невиртуальную реализацию для метода.

Перегрузка - это когда вы добавляете метод с тем же именем, но с разными параметрами.

Все три концепции доступны как в C #, так и в VB.

14
ответ дан 29 November 2019 в 05:13
поделиться

документация Microsoft указывает:

Затенение и Перегрузка . Overloads может также привыкнуть к тени существующий участник или группа перегруженных участников, в базовом классе. Когда Вы используете Overloads таким образом, Вы объявляете свойство или метод с тем же именем и тем же списком параметров как участник базового класса, и Вы не предоставляете Shadows ключевое слово.

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

  • Тени - Вы хотите удостовериться, что член Вашего дочернего класса не будет затронут в случае, если новый участник с тем же именем впоследствии добавляется к базовому классу. В этом случае затененный участник обычно еще не существует; Вы только хотите ожидать проблемы для будущего .
  • Перегрузки - Вы хотите заменить реализацией участника в базовом классе тем Вашего дочернего класса. В этом случае перегруженный участник уже существует; Вы хотите изменить поведение .

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

части, относящиеся к Shadows ключевое слово этого статья Microsoft, также стоят считать.

0
ответ дан 29 November 2019 в 05:13
поделиться

Тени для случаев, когда вашим базовым классом является Функция. SomeMethod () As String , и вы хотите иметь функцию SomeMethod () As Integer . В основном, чтобы изменить тип возвращаемого значения.

Перегрузки предназначены для случая, когда вашим базовым классом является Function SomeMethod () As String , и вы хотите добавить такой параметр, как Function SomeMethod (ByVal value As Integer) As String .

0
ответ дан 29 November 2019 в 05:13
поделиться
Другие вопросы по тегам:

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