0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>В языке программирования<strong>Kotlin</strong>есть возможность определять псевдоним для подключаемого типа, а потом обращаться к данному типу через его псевдоним. Для этого используется оператор<strong>as</strong>. Посмотрим, как это работает:</p>
1
<p>В языке программирования<strong>Kotlin</strong>есть возможность определять псевдоним для подключаемого типа, а потом обращаться к данному типу через его псевдоним. Для этого используется оператор<strong>as</strong>. Посмотрим, как это работает:</p>
2
<p>В нашем случае для функции send() был определен псевдоним<strong>sendEmail</strong>. Это значит, что в последующем для обращения к этой функции следует применять ее псевдоним:</p>
2
<p>В нашем случае для функции send() был определен псевдоним<strong>sendEmail</strong>. Это значит, что в последующем для обращения к этой функции следует применять ее псевдоним:</p>
3
<p>Кроме того, для класса<strong>Message</strong>определен псевдоним<strong>EmailMessage</strong>. В результате теперь при использовании класса надо применять не оригинальное имя класса, а его псевдоним:</p>
3
<p>Кроме того, для класса<strong>Message</strong>определен псевдоним<strong>EmailMessage</strong>. В результате теперь при использовании класса надо применять не оригинальное имя класса, а его псевдоним:</p>
4
<h2>Когда полезны?</h2>
4
<h2>Когда полезны?</h2>
5
<p>На практике псевдонимы наиболее полезны, если происходит импорт типов с одним и тем же именем из разных<a>пакетов</a>. Представим, что в проекте существует файл<strong>sms.kt</strong>:</p>
5
<p>На практике псевдонимы наиболее полезны, если происходит импорт типов с одним и тем же именем из разных<a>пакетов</a>. Представим, что в проекте существует файл<strong>sms.kt</strong>:</p>
6
<p>Итак, у нас определен пакет<strong>sms</strong>, причем с классом<strong>Message</strong>и<strong>send</strong>-функцией для отправки сообщения по sms.</p>
6
<p>Итак, у нас определен пакет<strong>sms</strong>, причем с классом<strong>Message</strong>и<strong>send</strong>-функцией для отправки сообщения по sms.</p>
7
<p>Давайте предположим, что в файле<strong>app.kt</strong>мы хотим одновременно применять класс Message и send-функцию как из файла<strong>email.kt</strong>, так и из файла<strong>sms.kt</strong>. Благодаря псевдонимам, проблема решается:</p>
7
<p>Давайте предположим, что в файле<strong>app.kt</strong>мы хотим одновременно применять класс Message и send-функцию как из файла<strong>email.kt</strong>, так и из файла<strong>sms.kt</strong>. Благодаря псевдонимам, проблема решается:</p>
8
<p><em>По материалам https://metanit.com/.</em></p>
8
<p><em>По материалам https://metanit.com/.</em></p>
9
9