Page 17 - 4657
        P. 17
     p1.distance(60, 80) = 100.0
                  Наслідування класів
                 Другою сильною рисою Java є наслідування класів (першою
            –  інкапсуляція).  Класи-нащадки  мають  можливість  не  тільки
            створювати  свої  власні  змінні  і  методи,  але  й  успадковувати
            змінні і методи класів-предків. Класи-нащадки принято називати
            підкласами.  Безпосереднього  попередника  даного  класу
            називають його суперкласом. У черговому прикладі показано, як
            розширити клас Point таким чином, щоб включити в нього третю
            координату z.
            class Point3D extends Point { int z;
            Point3D(int x, int y, int z) {
            this.x = x;
            this.у = у;
            this.z = z; }
            Point3D() {
            this(-1,-1,-1);
            } }
                 У цьому прикладі ключове слово extends використовується
            для  того,  щоб  повідомити  транслятору  про  намір  створити
            підклас  класу  Point.  Як  бачите,  у  цьому  класі  не  знадобилося
            повідомляти  змінні  х  и  у,  оскількі  Point3D  успадкував  їх  від
            свого суперкласу Point.
                 Увага!
                 Ймовірно, програмісти, знайомі з C++, очевидно очікують,
            що    сей-година     ми    почнемо     обговорювати     концепцію
            множинного  спадкування.  Під  множинним  спадкуванням
            розуміється створення класу, що має кілька суперкласів. Однак
            у  мові  Java  заради  забезпечення  високої  продуктивності  і
            більшої  ясності  вихідного  коду  множинне  спадкування
            реалізоване  не  було.  У  більшості  випадків,  коли  потрібно
            множинне  спадкування,  проблему  можна  вирішити  за
            допомогою наявного в Java механізму інтерфейсів, описаного в
            наступній лекції.
                                                                             15
     	
