Page 21 - 4657
P. 21

класу  В.  У  наступній  рядку  ми  викликали  метод  callme.  При
            цьому транслятор перевірив наявність методу callme у класу А, а
            виконуюча  система,  побачивши,  що  насправді  в  змінній
            зберігається екземпляр класу В, викликала не метод класу А, а
            callme  класу  В.  Нижче  приведений  результат  роботи  цієї
            програми:

            С:\> Java Dispatch
            Inside B's calime method
                 Програмістам  Delphi  /  C++  слід  зазначити,  що  всі  Java  за
            замовчуванням  є  віртуальними  функціями  (ключове  слово
            virtual).
                 Розглянута    форма     динамічного     поліморфізму      часу
            виконання  являє  собою  один  з  найбільш  могутніх  механізмів
            объектно-оріентованного програмування, що дозволяють писати
            надійний, багаторазово використовуваний код.

                  Ключове слово final

                 Усі  методи  і  змінні  об'єкти  можуть  бути  заміщені  по
            замовчуванню.  Якщо  ж  ви  хочете  оголосити,  що  підкласи  не
            мають  права  заміщення  якіх-небудь  змінних  і  методів  вашого
            класу,  вам  потрібно  оголосити  їх  як  final  (у  Delphi  /  C++  не
            писати слово virtual).

            final int FILE_NEW = 1;
                 За загальноприйнятою згодою при виборі імен змінних типу
            final  -  використовуються  тільки  символи  верхнього  регістра
            (тобто  використовуються  як  аналог  препроцерних  констант
            C++). Використання final-методів часом приводить до виграшу у
            швидкості  виконання  коду  -  оскільки  вони  не  можуть  бути
            заміщені,  транслятору  ніщо  не  заважає  заміняти  їхні  виклики
            убудованим (in-line) кодом (байт-код копіюється безпосередньо
            в код зухвалого методу).






                                                                             19
   16   17   18   19   20   21   22   23   24   25   26