HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: kotlin, перегрузка функций</p>
1 <p>Теги: kotlin, перегрузка функций</p>
2 <p>В языке программирования Kotlin под<strong>перегрузкой функций</strong>(function overloading) подразумевается определение нескольких функций с тем же самым именем, однако с разными параметрами. Рассмотрим этот момент подробнее.</p>
2 <p>В языке программирования Kotlin под<strong>перегрузкой функций</strong>(function overloading) подразумевается определение нескольких функций с тем же самым именем, однако с разными параметрами. Рассмотрим этот момент подробнее.</p>
3 <p>В первую очередь, важно отметить, что параметры перегруженных функций могут отличаться и по количеству, и по типу, и по порядку в списке параметров.</p>
3 <p>В первую очередь, важно отметить, что параметры перегруженных функций могут отличаться и по количеству, и по типу, и по порядку в списке параметров.</p>
4 <p>Например, в нашем случае мы видим, что для одной функции sum() определены 5 перегруженных версий. При этом каждая из этих версий отличается:</p>
4 <p>Например, в нашем случае мы видим, что для одной функции sum() определены 5 перегруженных версий. При этом каждая из этих версий отличается:</p>
5 <ul><li>или по типу,</li>
5 <ul><li>или по типу,</li>
6 <li>или по количеству,</li>
6 <li>или по количеству,</li>
7 <li>или по порядку параметров.</li>
7 <li>или по порядку параметров.</li>
8 </ul><p>В момент вызова функции<strong>sum</strong>компилятор получит возможность выбрать для выполнения нужную версию, учитывая тип и число параметров:</p>
8 </ul><p>В момент вызова функции<strong>sum</strong>компилятор получит возможность выбрать для выполнения нужную версию, учитывая тип и число параметров:</p>
9 <p>Во-вторых, в процессе перегрузки возвращаемый результат функции не учитывается. Допустим, мы имеем 2 следующие версии функции sum:</p>
9 <p>Во-вторых, в процессе перегрузки возвращаемый результат функции не учитывается. Допустим, мы имеем 2 следующие версии функции sum:</p>
10 <p>Эти версии совпадают по всем параметрам, кроме возвращаемого типа. Но в нашем случае мы получаем ошибку, так как перегруженные версии обязательно должны отличаться именно по типу, порядку либо числу параметров. Что касается отличия в возвращаемом типе, то оно значения не имеет.</p>
10 <p>Эти версии совпадают по всем параметрам, кроме возвращаемого типа. Но в нашем случае мы получаем ошибку, так как перегруженные версии обязательно должны отличаться именно по типу, порядку либо числу параметров. Что касается отличия в возвращаемом типе, то оно значения не имеет.</p>
11 <p><em>По материалам https://metanit.com/kotlin/tutorial/.</em></p>
11 <p><em>По материалам https://metanit.com/kotlin/tutorial/.</em></p>
12  
12