Page 41 - 6253
P. 41

}

                    class Overload {

                     public static void main(String args[] ) {

                       OverloadDemo ob = new OverloadDemo();

                       double result;



                       // Виклик усіх версій методу test

                       ob.test();

                       ob.test(10);

                       ob.test(10, 20);

                       result=ob. test(123.2);

                       System.out.println (“Результат = ” + result);

                     }

                    }

                    Якщо типи параметрів не збігаються з параметрами хоча б одного з методів,

            то відбувається автоматичне приведення типів. Заберемо в попередньому прикладі у

            визначенні  класу  OverloadDemo  версію  методу  test(int  а).  Тоді  при  звертанні

            ob.test(10) відбудеться приведення 10 до типу double і виклик методу test(double а).

            При  наявності  необхідного  методу  приведення  типів  не  відбувається  і  звертання

            здійснюється  до  відповідного  методу  без  приведення  типів.  Без  реалізації

            перевантажених методів кожний метод повинен був би мати унікальне ім’я.

                    Цінність перевантаження методів полягає у можливості  присвоїти одне ім’я

            спорідненим методом. Ім’я у цьому випадку вказує на спільну дію, яка не залежить

            від типів аргументів. Вибір конкретної версії методу здійснює компілятор.

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

            які дії. Немає правила, яке б вимагало, щоб перевантажені методи мали виконувати

            подібні функції. Проте з погляду стилю ООП, під час перевантаження методів вже

            зрозуміло, що це реалізація поліморфізму і виконуються споріднені операції.



                    2.4. Конструктори класу


                    При створенні чергового екземпляра класу проводити ініціалізацію усіх його




                                                              40
   36   37   38   39   40   41   42   43   44   45   46