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