Запитання з тегом «method-overloading»

10
Чи погана практика використовувати компілятор C ++ лише для перевантаження функцій?
Тому я працюю над розробкою програмного забезпечення, використовуючи C для певного процесора. Набір інструментів включає можливість компілювати як C, так і C ++. Для того, що я роблю, у цьому середовищі немає динамічного розподілу пам’яті, а програма загалом досить проста. Не кажучи вже про те, що у пристрою майже немає …

2
Чому PHP не підтримує функцію перевантаження?
Мені цікаво, чи одна з ключових особливостей мови програмування - це можливість перевантажувати функції аргументами. Я думаю, що це важливо в контексті об'єктно-орієнтованого програмування. Це навмисно залишено і не дозволено? Або перевантаження не є гарною практикою?

5
Чи достатньо, щоб методи розрізняли лише за назвою аргументу (а не за типом)?
Чи достатньо, щоб методи розрізняли лише за назвою аргументу (а не типом) чи краще називати його більш чітко? Так , наприклад T Find<T>(int id)проти T FindById<T>(int id). Чи є якась вагома причина назвати це більш чітко (тобто додавати ById) проти збереження лише імені аргументу? Я можу подумати, коли підписи методів …

2
Чому методи, що приймають необмежену кількість параметрів, часто визначають перевантаження з меншою кількістю параметрів?
Наприклад, System.IO.Path.Combineметод у .NET має такі перевантаження: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) У чому сенс останніх трьох? Перший охоплював би їх усіх, так як якщо ви уважно придивитесь, він використовує paramsключове слово. Аргумент зворотної сумісності охоплював би лише Combine(String, String)варіант, оскільки він був єдиною …

12
Чи є метод перевантаження чимось більшим, ніж синтаксичний цукор? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Чи є метод перевантаження типом поліморфізму? Мені здається просто диференціацією методів з однаковою назвою …

4
Чи слід перейменувати перевантажені методи?
Припустимо інтерфейс, що містить ці методи: Car find(long id); List<Car> find(String model); Чи краще перейменувати їх так? Car findById(long id); List findByModel(String model); Дійсно, будь-який розробник, який використовує цей API, не повинен шукати інтерфейс, щоб знати можливі аргументи початкових find()методів. Отже, моє питання є більш загальним: Яка користь від використання …

3
Чи один метод перевантажує інший, чи обидва способи "перевантажені"
Якщо я створю цей метод public void foo() І тоді я створюю перевантажену версію на зразок цієї public void foo( string bar ) Ми говоримо, що друга функція перевантажує першу, або обидва методи однаково «перевантажені»? Це означатиме (я думаю), що існує функція базового типу, яка перевантажена іншою функцією (дещо схожа …

1
Чому в PHP немає можливості перевантажувати статичні властивості?
Вступ PHP дозволяє перевантажувати виклики методів та доступ до властивостей шляхом оголошення магічних методів у класах. Це вмикає код, такий як: class Foo { public function __get($name) { return 42; } } $foo = new Foo; echo $foo->missingProperty; // prints "42" Крім перевантаження властивостей і методів екземплярів, оскільки PHP 5.3.0 …


3
Коли перевантаження методу підходить?
Припустимо, я працюю над існуючою, досить великою системою. У мене є myObjectклас класу MyClass(для прикладу, припустимо, я працюю в Java). myObjectце композиція, що містить Collection, скажімо, а, Listта інші об'єкти, які (я думаю) не мають значення. Він містить делегатні методи, які просто служать для використання методів, з яких Listвін складається, …

5
Чому не допускається перевантаження типами повернення? (принаймні у звичайних мовах)
Я не знаю про всі мови програмування, але зрозуміло, що зазвичай не підтримується можливість перевантаження методу з урахуванням його типу повернення (за умови, що його аргументи однакові за кількістю та типом). Я маю на увазі щось подібне: int method1 (int num) { } long method1 (int num) { } Справа …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.