Основы наследования в Java

Основы наследования в Java

Чтобы наследовать класс , достаточно ввести определение одного класса в дру­гой, используя ключевое слово extends. Для иллюстрации принципа наследова­ния обратимся к краткому примеру.

В приведенной ниже программе создаются суперкласс А и подкласс В. Обратите внимание на использование ключевого слова extends для создания подкласса, производного от класса А.

//   

//  

class A {
    int i, j;
    
    void show_i_and_j() {
        System.out.println("i  j: " + i + " " + j);
    }
}

//      

class B extends A {
    
    int k;
    
    void show_k() {
        System.out.println("k: " + k);
    }
    
    void sum() {
        System.out.println("i+j+k: " + (i + j + k));
    }
    
}

class SimplteInheritance {
    
    public static void main(String args[]) {
        
        A superOb = new A();
        B subOb = new B();
        
        //    
        superOb.i = 10;
        superOb.j = 20;
        System.out.println("  superOb: ");
        superOb.show_i_and_j();
        System.out.println();
        
        /* 
         *         .
         * 
         * 
         */
        
        subOb.i = 7;
        subOb.j = 8;
        subOb.k = 9;
        System.out.println("  subOb: ");
        subOb.show_i_and_j();
        subOb.show_k();
        
    }
    
}

Эта программа выводит следующий результат:

  superOb:
i  j: 10 20
  subOb:
i  j: 7 8
k: 9
 i, j  k   subOb:
i+j+k: 24

Как видите, подкласс В включает в себя все члены своего супер класса А. Именно поэтому объект subOb имеет доступ к переменным i и j и может вызывать метод show_i_and_j(). Кроме того, в методе sum() возможна непосредственная ссылка на пе­ременные i и j , как если бы они были частью класса В.

Несмотря на то что класс А является суперклассом для класса В, он в то же время остается полностью независимым и самостоятельным классом. То, что один класс является суперклассом для другого класса, совсем не исключает возможность его самостоятельного использования. Более того, один подкласс может быть супер­классом другого подкласса.

Ниже приведена общая форма объявления класса, который наследуется от су­перкласса:

class _ extends _ {
     
}

Для каждого создаваемого подкласса можно указать только один суперкласс. В Java не поддерживается наследование нескольких суперклассов в одном подклассе.

Как отмечалось ранее, можно создать иерархию наследования, в которой один подкласс становится суперклассом другого подкласса. Но ни один из классов не может стать суперклассом для самого себя.

Программист, не забывай что нужно совмещать спорт с программированием! Прямо сейчас купи себе спортивное питание и начинай по-немного "продвигать" мышцы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *