Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Java > Множественное наследование в JAVA


Автор: the_moon 23.04.02, 10:06
Привет,

есть ли множественное наследование в JAVA, что то я такое слашал, что его нет. А то тут тулку хотел набрасать и мне надо класс на базе двух других построить. Один к примеру для парсинга строк, а другой для работы с консольным приложением. Че делать то?

Автор: PaG 23.04.02, 12:06
Знаешь, сам я точно не знаю, у Вебера читал, что во множественном наследовании помогает интерфейс run и вообще вроде как с помощью интерфейсов это делается.
Но разве обязательно наследовть несколько классов в один? передвай из одного экземпляра класс в другой и всё.

Автор: tatar_0x4E 23.04.02, 15:12
Множественного наследования классов в JAVA нет и скорее всего не будет.

Зато класс может реализовывать несколько интерфейсов (keyword implements), что по думке создателей этого чудо-языка должно заменить множественное наследование. Интерфейс это что-то типа абстрактного класса, только в нем запрещено имплементировать какой бы то ни было кодю Он состоит только из пустых деклараций методов. Дальше, короче, читай хелп.

Автор: the_moon 24.04.02, 06:24
Да в том то и дело, что интерфейсы - дело хорошее, но в данном случае неподходящее. Мне надо несколько классов реализовать, которые хранят результаты работы консольной проги. Я написал класс, который запускает прогу и хранит результат, в другом классе набор утилит для парсинга результатов. Тоесть в конечных классах мне надо оба. Вообщем получается как-то по дурацки.

Автор: tatar_0x4E 24.04.02, 08:18
Обычно в таких случаях класс с утилитами объявляют как мембера в классе, который его юзает. В UML эту ассоциацию обычно зовут uses. Короче, просто создаешь объект этого класса, там где планировал его заюзать и вперед. Если боишься, что не хватит памяти, то попробуй сделать эти утилиты static (кстати с утилитами обычно так и делают и, если они написаны качественно, они почти всегда будут статическими, а имначе это уже не утилиты...) и тогда с памятью и быстродействием все будет в порядке. Что касается наследлвания (тем более множественного) то мне кажется, что оно тут ни к чему.

Автор: the_moon 24.04.02, 08:46
Так и зделал, но выглядит не хорошо, а про uses надо посмотреть.

Спасибо

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)