powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Множественное наследование
25 сообщений из 127, страница 2 из 6
Множественное наследование
    #34070382
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
В этой структуре:

1. Есть очевидное копирование кода между JRadioButton и JRadioMenuItem
2. Отсутствует возможность унифицированно работать с JRadioButton и JRadioMenuItem.

А есть необходимость в том, чтобы RadioMenuItem можно быть сопоставить JRadioButton?

Почему бы не


MenuRadioButton <-RadioButton <- AbstractButton

MenuRadioItem (item = RadioButton) <- AbstractMenuItem (private AbstractButton item)
...
Рейтинг: 0 / 0
Множественное наследование
    #34070399
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочется с чем-то унифицировано работать (например, установка чекбокса одновременно выставляет и в RadioButton, и в MenuRadioItem) - нужно делать по аналогии с Event'ами в Delphi.
...
Рейтинг: 0 / 0
Множественное наследование
    #34070427
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalovможно унаследовать несколько методов с одинаковой сигнатурой и разной реализацией - возникает коллизия.
В интерфейсах также - заимплементишь два интерфейса с одноимёнными полями - всё слетит.
...
Рейтинг: 0 / 0
Множественное наследование
    #34070445
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он жеА есть необходимость в том, чтобы RadioMenuItem можно быть сопоставить JRadioButton?
Безусловно. Скажем, я делал систему, в которой функциональные действия описывались классом, допустим, Action, а на уровне настроек интерфейса указывалось, будет ли это RadioAction группой пунктов меню, группой кнопок в тулбаре, еще чем-нибудь. И имхо вполне естественно желание работать со всеми вариантами через единый интерфейс, без кучи case-ов и приведений типов.

он жеMenuRadioButton <-RadioButton <- AbstractButton

MenuRadioItem (item = RadioButton) <- AbstractMenuItem (private AbstractButton item)
В этой схеме у нас получается:

1. Несовместимые Button и MenuItem
2. Куча тупого кода в AbstractMenuItem, публикующего методы AbstractButton
3. Дополнительный код с приведениями типов в MenuRadioItem
...
Рейтинг: 0 / 0
Множественное наследование
    #34070476
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он жеЕсли хочется с чем-то унифицировано работать (например, установка чекбокса одновременно выставляет и в RadioButton, и в MenuRadioItem) - нужно делать по аналогии с Event'ами в Delphi.
Во-первых, в Delphi нет никаких Event-ов.

Во-вторых, Action-ы в дельфе - вещь безусловно правильная, но дело не в этом. Дельфа тоже не свободна от недостатков single inheritance. В яве пошли по пути дробления на достаточно мелкие функциональные классы; это в принципе правильно, но в условия single inheritance порождает уйму неудобств. Такую библиотеку можно сделать достаточно удобной для использования, но ценой этого будет серьезная дополнительная трудоемкость при ее реализации, в том числе тупое копирование кода. В дельфе пошли по другому пути, то, что я назвал "базовый класс, который умеет все". Это упрощает жизнь, но само по себе не очень-то правильно, поэтому этот путь прошли наполовину; скажем, свойство Caption у Button и MenuItem общее, а вот свойства Checked таки независимы.

В принципе, как я уже говорил выше, за счет делегирования интерфейсов в дельфе можно обходиться без множественного наследования легче, чем в других языках. Но все равно я бы предпочел нормальное множественное наследование.
...
Рейтинг: 0 / 0
Множественное наследование
    #34070609
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot softwarer
Впрочем, мне будет любопытно услышать более простую модель для следующей структуры:

Код: plaintext
1.
2.
3.
4.
 class  RadioControl  extends  AbstractButton
 class  Button  extends  AbstractButton
 class  MenuItem  extends  AbstractButton
 class  RadioButton  extends  Button, RadioControl
 class  RadioMenuItem  extends  MenuItem, RadioControl
[/quot]

На практике такой подход порождает уродцев на вроде java.util.Properties. На лицо подмена делигирования наследованием. Смысл в чем:
RadioControl - компонента радио, её можно поместить на панель.
class RadioMenuItem extends RadioControl, следовательно она тоже должна иметь способность помещатся на панель.
Помещаем RadioMenuItem на панель, и рантайм обрыгивается с NPE , потому что RadioMenuItem требует меню! А его у нас и нет. При разумном подходе, мы конечно же обрыгаемся ещё в compiletime. Но это ничего не меняет.
RadioMenuItem не есть RadioControl, соответсвенно RadioMenuItem нельзя наследовать от RadioControl!

Про RadioButton вообще молчу. Придумайте пример понатуральнее.
...
Рейтинг: 0 / 0
Множественное наследование
    #34070647
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНа практике такой подход порождает уродцев на вроде java.util.Properties.
Признаться, плохо помню этого уродца, бо использовал единственный раз.

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

BlazkowiczRadioControl - компонента радио, её можно поместить на панель.
Ошибаетесь. Я не зря обозвал класс так обще. Это "некий радиоконтрол вообще", без какой-либо специфики. Может быть правильнее было бы назвать AbstractRadioControl, но в Java Abstract-классы имеют чуть другой смысл.

Blazkowiczclass RadioMenuItem extends RadioControl, следовательно она тоже должна иметь способность помещатся на панель.
Вывод соответственно неверный.

BlazkowiczПро RadioButton вообще молчу. Придумайте пример понатуральнее.
Ну... как хотите. Если Вы ими не пользуетесь - безусловно, ненатуральные.
...
Рейтинг: 0 / 0
Множественное наследование
    #34070689
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer BlazkowiczНа практике такой подход порождает уродцев на вроде java.util.Properties.
Признаться, плохо помню этого уродца, бо использовал единственный раз.

Там методы Hashtable торчат на ружу, чего по логике быть не должно.

softwarer
BlazkowiczНа лицо подмена делигирования наследованием.
Может быть и так. К сожалению, с адекватными средствами делегирования в современных языках негусто.

Не понял.

softwarer BlazkowiczRadioControl - компонента радио, её можно поместить на панель.
Ошибаетесь. Я не зря обозвал класс так обще. Это "некий радиоконтрол вообще", без какой-либо специфики. Может быть правильнее было бы назвать AbstractRadioControl, но в Java Abstract-классы имеют чуть другой смысл.

Ааа, теперь понятно

softwarer BlazkowiczПро RadioButton вообще молчу. Придумайте пример понатуральнее.
Ну... как хотите. Если Вы ими не пользуетесь - безусловно, ненатуральные.
Так тут смысл в том что в любой "ограниченой" системе множественное наследование можно применять сколько душе угодно. Проблемы начнутся когда эту систему нужно будет расширить. Тут-то м-наследование и станет поперек колес.
...
Рейтинг: 0 / 0
Множественное наследование
    #34070805
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczТам методы Hashtable торчат на ружу, чего по логике быть не должно.
Тут скорее вопрос отсутствия приватного наследования.

BlazkowiczНе понял.
Хм. Давайте так. Напишите, пожалуйста, какой-нибудь простой код с делегированием. Может быть, я соглашусь с тем, что это все хорошо и правильно, а может быть покажу, что именно считаю неадекватным.

BlazkowiczТак тут смысл в том что в любой "ограниченой" системе множественное наследование можно применять сколько душе угодно. Проблемы начнутся когда эту систему нужно будет расширить. Тут-то м-наследование и станет поперек колес.
Скажу так: я не вижу причин считать это утверждение более верным, нежели строго противоположное, и в топике вроде бы не звучало аргументов в эту сторону.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071255
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot BlazkowiczТак тут смысл в том что в любой "ограниченой" системе множественное наследование можно применять сколько душе угодно. Проблемы начнутся когда эту систему нужно будет расширить. Тут-то м-наследование и станет поперек колес.[/quot]

Причём тут множественное наследование?

Проблемы начнутся с расширением любой системы, если это расширение не планировать. Какое наследование в этой системе использовать - это уже дело десятое.

Если обратиться к вопросу наследования, то можно выделить порядка 12 типовых случаев, когда может применяться наследования: от различных классификаций объектов (наследование интерфейса) до самого хардкорного конструирования классов (наследование реализации).

Не во всех языках имеются механизмы для обеспечения всех возможных типов наследования.

Н-р, в java наследование реализованно в таком виде, что наследование properties от hashtable является дуростью.
В то время, как истинная дурость заключается в использовании делегирования для решения этой задачи, поскольку создаётся два объекта вместо одного (привет gc и оверхед на вложенные вызовы).

Так же как генерики позволяют не писать типизированые варианты коллекций (оставив это удовольствие компилятору), так же в языке с хорошо проработанным механизмом МН не приходится дублировать один и тот же код в объектах определяемых разными наборами однообразных характеристик (в java это вотчина интерфейсов).

"Правильное" наследование как минимум включает:
- множественно наследование
- разрешение "конфликтов" с перекрытием методов по выбору программиста
(н-р, что делать если в разных родителях есть методы с одинаковой сигнатурой?
- выбрать один из них (какой?)
- сохранить оба изменив их имена
- сделать один из них private
- переопределить один из-них (какой?)
и т.д. Выбор должен делать не язык, а программист в зависимости от конкретной ситуации)
- закрытое наследование
- генерики
- ковариантность
- переименование методов в наследниках
...
Рейтинг: 0 / 0
Множественное наследование
    #34071270
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильный ответ уже дан - множественное наследование не нужно. А неправильных можно давать сколько угодно. Никакая это не священная война, но достают некоторые с претензией "Почему Java это не C++". Ну и пользуйтесь своим С++ и не приставайте с глупостями. И не надо про "высокую квалификацию" программистов на С++". Я сам долго программировал на C++ (ввиду отсутствия выбора), и с тех пор как перешёл на Java, моя квалификация повысилась (поизучал новые технологии, доступные программистам на Java).
Кстати, по моим наблюдениям, большинство программирующих на С++ - дураки, невежды, демократы и психи. Чтобы не быть голословным - один на прямо рабочем месте плевался (фирма Галактика). Я так и не понял, что он хотел этим выразить. Он же, каждый день программируя на VC6, года через 2 после появления VС7, спросил меня, чем оно отличается от VC7. И это не самый тяжёлый случай.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071314
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 Kachalov:
автор- использование интерфейсов не является альтернативой множественному наследованию, сходство только визуальное - можно через запятую несколько интерфейсов перечислить. Вы не правильно понимаете роль и предназначение интерфейсов.
чего-чего? быстро, обратно к учебникам и будет вам счастье

2 LINUXER:
авторВ интерфейсах также - заимплементишь два интерфейса с одноимёнными полями - всё слетит.
глупость, ничего не слетит
...
Рейтинг: 0 / 0
Множественное наследование
    #34071371
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUбыстро, обратно к учебникам и будет вам счастье
- думаете интерфейсы нужны именно для "кривого" множественного наледования? Боюсь Вы набрались этого из тех самых "учебников". Наверняка в своем коде Вы интерфейсов не используете (только готовые) - я прав?
...
Рейтинг: 0 / 0
Множественное наследование
    #34071396
АСУ ТПшник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что бы не говорили, но древовидная структура самая понятная (как тока ее придумают). Удобна она как для кодировщика, так и для обслуживающего ее в дальнейшем персонала.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071398
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
вот weak form of multiple inheritance (AKA mixin interfaces) на основе интерфейсов.

2 softwarer:
ну и где здесь порожденная вашим больным воображением дубликация кода?

2 Kachalov:
вы все еще хотите продолжать свой глупый спор о невозможности использования interfaces для эмуляции multiple inheritance?

авторБоюсь Вы набрались этого из тех самых "учебников"
ага, вам бы читать те учебники что я читал
...
Рейтинг: 0 / 0
Множественное наследование
    #34071431
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUвы все еще хотите продолжать свой глупый спор о невозможности использования interfaces для эмуляции multiple inheritance?
- Вы так и не поняли, что речь идет не о том, чтобы с помощью интерфейсов эмулировать множественное наследование о чем уже высказались в предыдущих топиках (Вы своей схемой лишний раз подвердили что получается это необычайно криво). Мне хотелось отметить что Вы пытаетесь использовать интерфейсы не по назначению. У многих авторов (видимо пытающихся перенести опыт программирования C++ на Java) можно встретить тезис о том что интерфейсы в Java предназначены для обхода отсутствия множественного наследования. Зачем разработчикам языка сначала лишать его множественного наследования, а потом через Ж. его обходить интерфейсами? Вдумайтесь в само слово "интерфейс", оцените красоту идеи, и не используйте их ни для чего иного кроме приведения типов. А если Вам необходима функциональность нескольких классов родителей применяйте вложенные классы.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071448
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
автор- Вы так и не поняли, что речь идет не о том, чтобы с помощью интерфейсов эмулировать множественное наследование о чем уже высказались в предыдущих топиках (Вы своей схемой лишний раз подвердили что получается это необычайно криво).
чего то вы уважаемый из пальца все высасываете, речь изначально шла о возможности/невозможности имплементации multiple inheritance в java. Ваша оригинальная реплика была о том что интерфейсы это не альтернатива multiple inheritance. Я вам привел конкретный пример, что еще надо то?
авторМне хотелось отметить что Вы пытаетесь использовать интерфейсы не по назначению. У многих авторов (видимо пытающихся перенести опыт программирования C++ на Java) можно встретить тезис о том что интерфейсы в Java предназначены для обхода отсутствия множественного наследования.
А кто и где говорил о том что интерфейсы нужны исключительно для эмуляции multiple inheritance? Если видели, приведите пример, если нет, то нечего изобретать тогда.
авторВдумайтесь в само слово "интерфейс", оцените красоту идеи, и не используйте их ни для чего иного кроме приведения типов. А если Вам необходима функциональность нескольких классов родителей применяйте вложенные классы.
вы разберитесь с понятием наследования и полиморфизма, потому как предлагаемый вами пример будет работать только там где предполагается определенный тип или его сабклассы. В то время как использование наследованных интерфейсов позволяет использовать их вместо базовых при этом сами интерфейсы могут быть имплентированы любыми классами. Это в том числе о красоте идеи...

В остальном присоеденяюсь к мнению Partisan M
...
Рейтинг: 0 / 0
Множественное наследование
    #34071597
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 OU
Kachalov OUдостижение эффекта multiple inheritance через использование interface всетаки достаточно эффективный, безопасный и элегантный подход.
- использование интерфейсов не является альтернативой множественному наследованию, сходство только визуальное - можно через запятую несколько интерфейсов перечислить. Вы не правильно понимаете роль и предназначение интерфейсов.
- не хочется собачится, возможно я резковато высказался, - приношу свои извинения за тон, но мне не кажется что для реализации множественного наследования (вопрос нужно ли множественное наследование предлагаю не трогать вообще, так это личное дело каждого программиста, мне например, не нужно) надо (заметьте не можно, а надо) использовать интерфейсы. Т. к. использование интерфейсов приводит в данной задаче к громозкому коду (не элегантному, не эффективному), в частности в приведенной OU схеме мы видим 3 класса и 3 интерфейса (хотя Child лишний), итого 5-6 файлов - это что элегантный и эффективный код? По безопасности тоже може проехаться - из Вашей схемы не очевидна реализация методов наследника, т. е. не факт, что методы наследника имеющие ту же сигнатуру, что и методы родителей, имеют то же тело, иначе говоря есть хороший повод накосячить. Более того в Вашем случае они точно будут иметь другое тело и лишь имитировать функционал родителей, т. е. возможно от тупого переписывания методов Вы избавились, но это множественным наследованием не назовешь. Прежде чем городить такой код желательно выяснить зачем Вам множественное наследование (МН)? Если МН Вам необходимо для получения функциональности нескольких родителей, мне кажется, заметно проще использовать вложеные классы (этот тезис Вы упорно игнорируете). Случай когда Ваша схема необходима - случай приведения типов, где наследник должен приводиться к типам нескольких родителей, а если разобраться по существу: класс Softwarer и SoftwarersMother реализуют один и тот же интерфейс Mother, но при этом Softwares никак не связан с SoftwarersMother, т. е. SoftwarersMother не является родителем для Softwarer, аналогично с веткой Father. Если избавится от шелухи Ваша диаграма выглядит так:
...
Рейтинг: 0 / 0
Множественное наследование
    #34071671
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU2 softwarer:
ну и где здесь порожденная вашим больным воображением дубликация кода?
Попробуйте вылечить свои больные глаза и обращаясь ко мне, говорить о том, о чем говорил я.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071672
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovВдумайтесь в само слово "интерфейс", оцените красоту идеи
Может быть, я не понимаю красоту идеи. Для меня интерфейс - это pure abstract класс, не более того. Соответственно, частный случай более общего решения.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071688
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerинтерфейс - это pure abstract класс, не более того. Соответственно, частный случай более общего решения.
- формально Вы правы, но роль интерфейса при написании кода существенно отличается от роли абстрактного класса. Абстрактный класс, грубо говоря, представляет собой "полуфабрикат", заготовку довести "до ума" которую должен программист при реализации конкретной задачи, а интерфейс выполняет роль "спецификации" гарантирующей что в реализующем ее классе будет необходимый набор методов.

Что бы меня потом не тыкали носом в книжки сразу скажу, что это мое личное мнение на использование абстрактных классов и интерфейсов, возникающее из собственного опыта. Мнение которое никому не навязываю.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071787
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 kachalov:
авторЕсли МН Вам необходимо для получения функциональности нескольких родителей, мне кажется, заметно проще использовать вложеные классы (этот тезис Вы упорно игнорируете).
еще раз повторю, вы не понимаете таких вещей как наследование и полиморфизм.

На пальцах, множественное наследование:
Класс С наследован от А и В. Соответсвенно класс С может быть использован вместо класса А или В.

Имитация множественного наследования с помощью интерфейсов:
Интерфейс С наследован от интерфейсов А и В. Соответственно интерфейс С и его имплементации могут быть использованы вместо интерфейса А или В.

***Вместо интерфейса С можно использовать класс который будет имплементировать интерфейсы А и В, но в таком случае каждый раз когда вы захотите получить класс который можно использовать вместо А или В вы должны будете либо постоянно дублировать имплементацию двух интерфейсов (т.е в каждом случае писать class X implements A, implements B ) либо наследовать от класса С (это менее полиморфично по сравнению с возможностью использования любого класса имплементирующего данный интерфейс).

Вариант предложеный вами, который основан либо на Decorator либо на Adaptor design patterns (это я понимаю то что вы имеете в виду под использованием вложенных классов)

Класс С наследуется от А или Б и инкапсулирует экземпляры классов А и В. В данном случае класс С может быть использован только ВМЕСТО А ИЛИ В (т.е своего супер класса), но никак ни ОБОИХ . Так что множественным наследованием здесь и не пахнет.

2 softwarer:
авторНе достигает эффекта и приводит к тупому копированию кода в каждый класс, реализующий эти интерфейсы.
провал памяти?
...
Рейтинг: 0 / 0
Множественное наследование
    #34071800
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalovно роль интерфейса при написании кода существенно отличается от роли абстрактного класса.
Не соглашусь. Мне кажется, сказанное Вами - поверхностное видение, но если копнуть, оказывается что оба названных предназначения на самом деле одно и тоже.

KachalovАбстрактный класс, грубо говоря, представляет собой "полуфабрикат", заготовку
Прежде всего, давайте оговорим различие между abstract class и pure abstract class. Первый - действительно полуфабрикат; второй - скорее сырье, или как Вы назвали, заготовка.

Далее. Ваша точка зрения, как мне представляется, неявно ориентируется на концепцию single inheritance - абстрактный класс для Вас это нечто, от чего Вы наследуетесь, а интерфейс - то, что реализуете. То есть разница, о которой Вы говорите, опирается на ограничения языка. Если взять инструмент с multiple inheritance, разница сводится до технической, более того, необнаруживаемой.

Как пример этого - однажды мне потребовался интерфейс некоей модели. Давайте его условно опишем так (будем надеяться, я еще не забыл синтаксис явы):

Код: plaintext
1.
2.
3.
4.
 public   interface  MyModel {
   int  getCount();
  Object getObject ( int  index);
  Icon getIcon ( int  index);
}

так вот, в этой модели мне бы вполне пригодился следующий метод, как дефолтовая реализация для всех моделей:

Код: plaintext
1.
2.
3.
Icon getIcon ( int  index) {
  Object o = getObject (index);
   return  (o  instanceof  Iconifiable) ? ((Iconifiable) o).getIcon() :  null ;
}

Но от такой потребности "интерфейс" ничуть не становится "полуфабрикатом" - согласны?

Итого, мое мнение: "интерфейс" - это один из вариантов применения классов. Фактически разница такова: если классу А по смыслу необходимо наследоваться от класса Б, то это "родительский класс"; если класс А легко может реализовать требования класса Б, но и без него ничего особого не потеряет, то это "интерфейс".

Итого, получаем, что интерфейсы в явовском смысле - это вырожденный случай abstract class, тот самый pure abstract class.

Для полноты картины - я иногда пользовался еще и вырожденными интерфейсами, то есть интерфейсами, не содержащими методов. Фактически этот интерфейс использовался просто как логический признак на соответствующем объекте, скажем, интерфейс ThreadedAction показывал, что Action может и должен запускаться в отдельном потоке.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071802
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU2 softwarer:
авторНе достигает эффекта и приводит к тупому копированию кода в каждый класс, реализующий эти интерфейсы.
провал памяти?
Ничуть. Ваше выборочное цитирование меня не смущает и не обязывает; вылечите свои больные глаза, прочитайте то, что написано чуть выше, чем выхваченная Вами строка и покажите не один маленький пример, в который мне даже лень смотреть - может и в нем есть это тупое копирование - а полноценную библиотеку.
...
Рейтинг: 0 / 0
Множественное наследование
    #34071806
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, есть в этой модели совершенно dumb код - методы Softwarer.getChromosomeX() и Softwarer.getChromosomeY().
...
Рейтинг: 0 / 0
25 сообщений из 127, страница 2 из 6
Форумы / Java [игнор отключен] [закрыт для гостей] / Множественное наследование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]