Pytania otagowane jako method-overloading


2
Dlaczego PHP nie obsługuje przeciążania funkcji?
Zastanawiam się, czy jedną z kluczowych cech języka programowania jest możliwość przeciążania funkcji argumentami. Myślę, że jest to niezbędne w kontekście programowania obiektowego. Czy jest to celowo pozostawione w tyle i niedozwolone? Czy przeciążanie nie jest dobrą praktyką?

5
Czy wystarczy, aby metody można było odróżnić tylko nazwą argumentu (a nie typem)?
Czy wystarczy, aby metody można było rozróżnić tylko według nazwy argumentu (a nie typu), czy lepiej nazwać ją bardziej jednoznacznie? Na przykład T Find<T>(int id)vs T FindById<T>(int id). Czy jest jakiś dobry powód, aby nazwać go bardziej jawnie (tj. Dodając ById), zamiast utrzymywać tylko nazwę argumentu? Jednym z powodów, o …

2
Dlaczego metody przyjmujące nieograniczoną liczbę parametrów często definiują przeciążenia przy mniejszej liczbie parametrów?
Na przykład System.IO.Path.Combinemetoda w .NET ma następujące przeciążenia: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Jaki jest sens ostatnich trzech? Pierwszy obejmowałby je wszystkie, ponieważ jeśli przyjrzysz się uważnie, użyje paramssłowa kluczowego. Argument zgodności wstecznej obejmowałby tylko Combine(String, String)wariant, ponieważ była to jedyna wersja do .NET …


4
Czy powinniśmy zmienić nazwę przeciążonych metod?
Załóżmy interfejs zawierający te metody: Car find(long id); List<Car> find(String model); Czy lepiej zmienić ich nazwy w ten sposób? Car findById(long id); List findByModel(String model); Rzeczywiście, każdy programista, który korzysta z tego interfejsu API, nie musi patrzeć na interfejs, aby poznać możliwe argumenty find()metod początkowych . Więc moje pytanie jest …



2
Przeciążenie lub parametry opcjonalne
Kiedy mam funkcję, która może otrzymać lub nie otrzymać określonego parametru, czy lepiej jest przeciążyć funkcję lub dodać opcjonalne argumenty? Jeśli każdy ma swoje wzloty i upadki - kiedy miałbym z nich korzystać?

3
Kiedy właściwe jest przeładowanie metody?
Załóżmy, że pracuję na istniejącym, dość dużym systemie. Mam obiekt myObjectklasy MyClass(dla przykładu załóżmy, że pracuję w Javie). myObjectto kompozycja zawierająca Collection, powiedzmy, a Listi inne przedmioty, które (myślę) są nieistotne. Zawiera metody delegowania, które służą tylko do wywołania metod, z których Listsię składa, w celu zapewnienia, Listże nie zostały …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.