HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Методы, работающие с обобщенными типами, называются обобщенными методами. В предыдущих уроках мы разбирали тип Pair, в котором все методы именно такие:</p>
1 <p>Методы, работающие с обобщенными типами, называются обобщенными методами. В предыдущих уроках мы разбирали тип Pair, в котором все методы именно такие:</p>
2 <p>В отличие от самого класса, работа с такими методами не требует указания параметра типа, так как он уже был задан при создании объекта.</p>
2 <p>В отличие от самого класса, работа с такими методами не требует указания параметра типа, так как он уже был задан при создании объекта.</p>
3 <p>Дженерики могут выступать в качестве параметров типа. Как в качестве параметров метода, так и возвращаемого значения. Для демонстрации реализуем два метода.</p>
3 <p>Дженерики могут выступать в качестве параметров типа. Как в качестве параметров метода, так и возвращаемого значения. Для демонстрации реализуем два метода.</p>
4 <p><strong>copy()</strong>- метод, который создает и возвращает наружу копию пары. Пример использования:</p>
4 <p><strong>copy()</strong>- метод, который создает и возвращает наружу копию пары. Пример использования:</p>
5 <p>Реализация:</p>
5 <p>Реализация:</p>
6 <p><strong>replaceWith()</strong>, который заменяет содержимое пары данными из пары, переданной как параметр. Пример использования:</p>
6 <p><strong>replaceWith()</strong>, который заменяет содержимое пары данными из пары, переданной как параметр. Пример использования:</p>
7 <p>Реализация:</p>
7 <p>Реализация:</p>
8 <p>В одном случае дженерик выступал в качестве параметра, в другом в качестве возвращаемого значения. Все это можно использовать одновременно, причем в совершенно разных конфигурациях, вкладывая дженерики друг в друга настолько насколько нужно. Иногда получаемые конструкции настолько сложны, что понадобится немало времени на их понимание. К счастью, большая часть такого кода находится внутри библиотек, которые уже написаны.</p>
8 <p>В одном случае дженерик выступал в качестве параметра, в другом в качестве возвращаемого значения. Все это можно использовать одновременно, причем в совершенно разных конфигурациях, вкладывая дженерики друг в друга настолько насколько нужно. Иногда получаемые конструкции настолько сложны, что понадобится немало времени на их понимание. К счастью, большая часть такого кода находится внутри библиотек, которые уже написаны.</p>
9 <h2>Параметры типов у методов</h2>
9 <h2>Параметры типов у методов</h2>
10 <p>У обобщенных методов могут быть свои параметры типов, которых нет в классе. Это бывает нужно, когда мы хотим работать с параметром метода, тип которого может отличаться от параметра типа класса. В таком случае, в определение метода добавляется кусок кода с угловыми скобками перед типом возвращаемого значения.</p>
10 <p>У обобщенных методов могут быть свои параметры типов, которых нет в классе. Это бывает нужно, когда мы хотим работать с параметром метода, тип которого может отличаться от параметра типа класса. В таком случае, в определение метода добавляется кусок кода с угловыми скобками перед типом возвращаемого значения.</p>
11 <p>Использование:</p>
11 <p>Использование:</p>
12 <p>Более того, обобщенные методы могут присутствовать в классах, которые не являются дженериками.</p>
12 <p>Более того, обобщенные методы могут присутствовать в классах, которые не являются дженериками.</p>
13  
13