method-overloading- все статьи тега


Класс Java имеет 2 метода с одинаковой сигнатурой функции, но разными типами возвращаемых значений

AFAIK невозможно иметь метод с той же сигнатурой вызова. Однако: $ javap -public java.time.LocalTime | grep "minus" | grep "Temporal" | grep -v "long" public java.time.LocalTime minus(java.time.temporal.TemporalAmount); public java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount); Они явно показывают несколько методов с одной и той же сигнатурой вызова. как Java решает вызов функции? Почему существует множество функций? EDIT: упростил вопрос, сохранив только соот ...

Перегрузка функций в Javascript-лучшие практики

каков наилучший способ (ы) для поддельной перегрузки функций в Javascript? Я знаю, что невозможно перегружать функции в Javascript, как и в других языках. Если мне нужна функция с двумя вариантами использования foo(x) и foo(x,y,z) что является лучшим / предпочтительным способом: используя различные имена в первую очередь используя необязательные аргументы, как y = y || 'default' используя количество аргументов проверка типов аргументы или как? ...

Перегрузка функции по типу возврата?

Почему более распространенные статически типизированные языки не поддерживают перегрузку функций / методов по типу возврата? Я не знаю, что делать. Это кажется не менее полезным или разумным, чем поддержка перегрузки по типу параметра. Почему он так менее популярен? ...

Перегрузка метода в Objective-C?

насколько мне известно, Objective-C не поддерживает перегрузку метода. Какова может быть альтернатива этому в Objective-C? Или я должен всегда использовать другое имя метода? ...

перегрузка метода против необязательного параметра в C# 4.0 [дубликат]

этот вопрос уже есть ответ здесь: следует ли объявлять методы с использованием перегрузок или необязательных параметров в C# 4.0? 13 ответов какой лучше? на первый взгляд необязательный параметр кажется лучше (меньше кода, меньше XML-документации и т. д.), Но почему большинство классов библиотеки MSDN используют перегрузку вместо необязательные параметры? есть ли что-то особенное, что вы должны принять ...

Scala двойное определение (2 метода имеют один и тот же тип стирания)

Я написал это в scala, и он не будет компилироваться: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } компилятор сообщит: [error] double definition: [error] method foo:(List[String])Unit and [error] method foo:(List[Int])Unit at line 120 [error] have same type after erasure: (List)Unit Я знаю, что JVM не имеет собственной поддержки для дженериков, поэтому я понимаю эту ошибку. я мог бы написать обертки для List[String] и List[Int] но я ленивый :) Я сомне ...