Page 112 - 6253
P. 112

необхідно  розуміти,  що  шаблон  не  впливає  на  те,  якого  саме  типу  створюється

            об’єкт класу Generic.


                  Обмежені шаблони


                  Обмежений шаблон задає верхню або  нижню границю  типу, який може бути

            переданий  через  аргумент  узагальненого  класу,  що  дозволяє  обмежити  типи

            об’єктів,  з  якими  дозволено  працювати  методу.  Такий  обмежений  шаблон

            створюється з використанням ключового слова extends.


                  Для  встановлення  верхньої  границі  шаблона  використовується  наступний

            синтаксис.


                                                <? extends Суперклас>


                  Параметр Суперклас – це ім'я класу, який використовується як верхня границя.

            При цьому клас Суперклас також входить у список допустимих типів.



                  Також можна вказати нижню границю шаблону, додавши ключове слово super

            до оголошення шаблона.


                                                   <? super Підклас>


                  У цьому випадку, допустимими аргументами можуть бути тільки класи, які є

            суперкласами для класу Підклас. Ця форма запису виключає із списку допустимих

            типів клас Підклас.


                  Розглянемо  наступний  приклад,  у  якому  демонструється  використання

            обмеженого шаблону.


                  // Створення обмежених шаблонів аргументу

                  // Двохмірні координати

                  class TwoD {

                      int x, y;


                      TwoD(int a, int b) {

                          x = a;

                          y = b;




                                                              111
   107   108   109   110   111   112   113   114   115   116   117