Page 37 - 6253
P. 37

double volume() {

                       return width*height*depth;

                     }



                     // Визначення методу задання розмірів коробки

                     void setDim(double w, double h, double d) {

                       width = w;

                       height = h;

                       depth = d;

                     }

                    }

                    1) у методах класу посилання на змінні класу відбувається безпосередньо без

            посилання на об’єкт;

                    2) у  методі  setDim()  використані  параметри  (параметр  –  це  визначена  в

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

            називають аргументом;

                    3) коректно  розроблена  програма  –  це  програма,  в  якій  доступ  до  змінних

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

            присвоєння цим змінним значень у методі setDim()).

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

            в мові Java передаються за значеннями (call-by-value), тобто у формальний параметр

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

            аргумент.

                    Об’єкти  передаються  за  посиланням  (call-by-reference).  Тобто  параметрові

            присвоюється  значення  посилання  на  об’єкт.  Обидва  посилання  –  і  аргумент,  і

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

            в методі, впливають на об’єкт, переданий як аргумент.


                    Використання об’єктів у ролі параметрів


                    В усіх попередніх прикладах у ролі параметрів методів передавалися прості

            типи. Проте в метод класу в ролі параметра можна передати об’єкт будь-якого типу.

            Розглянемо програму:


                                                              36
   32   33   34   35   36   37   38   39   40   41   42