Лекция: Наследование классов

 

Классы можно писать не с нуля, а взяв за основу существующий класс. В этом случае эти классы будут является потомком и предком друг для друга. Потомка еще называют подклассом (subclass), а предка — суперклассом (superclass). Еще одна пара названий для таких классов — это класс-потомок и класс-предок.

 

Если один класс есть потомок другого, то он автоматически умеет делать все то, что умеет делать класс-предок. И нам остается только добавить в него то, чего не было в предке или изменить те методы, работа которых в классе-предке нас не удовлетворяет. В этом одна из главных черт Объектно-ориентированного программирования — если у некоторых объектов есть много общего, то можно для них создать класс-предок, в который записать все общие черты. Отличительные же черты будут реализованы в классах-потомках.

 

Давайте создадим класс boss, который будет потомком для класса worker из программы выше. Вот текст, который введите с том же файле Test.java, в котором находится класс worker:

class worker

{

...

}

class boss extends worker

{

public int NumOfWorkers; //Количество подчиненных

}

 

Ключевое слово extends означает, что наш новый класс boss есть потомок класса worker. Мы добавили в него только переменную NumOfWorkers, в которой будет храниться количество подчиненных. Класс же Test измените следующим образом:

...

public static void main(String [] args){

boss bigBoss=new boss();

bigBoss.setAge(41);

bigBoss.Name=«Ivan Ivanov»;

bigBoss.NumOfWorkers=100;

System.out.println(bigBoss.NumOfWorkers + "\n" + bigBoss.Name);

...

 

Как вы видите, кроме количества подчиненных для нашего bigBoss мы можем задавать имя и возраст. Они берутся из родительского класса. Все работает, как и ожидалось.

 

еще рефераты
Еще работы по информатике