Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Наследование классов



Классы можно писать не с нуля, а взяв за основу существующий класс. В этом случае эти классы будут является потомком и предком друг для друга. Потомка еще называют подклассом (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 мы можем задавать имя и возраст. Они берутся из родительского класса. Все работает, как и ожидалось.





Дата публикования: 2014-11-04; Прочитано: 405 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...