|
|
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Здавствуйте. Изучаю самостоятельно Java и наткнулся на такую проблему. Если создаешь простейший AudioPlayer на базе applet, то все хорошо и прекрасно. Но как только попытался его усложнить (например, сделать Frame, в котором можно выбирать звуковые файлы из списка) наткнулся на невозможность использовать методы интерфейса AudioClip.java. Объект который наследует Frame их использовать не может. Та же ситуация и с приложением. Как это обойти? Бандитский метод из книжек: class MyWindow extends Frame implements AudioClip{ не помогает, так как этот класс должен быть абстракным и для него не возможено создание объекта используя new. Как решаются такие проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 18:47 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Почему метод из книжки бандитский? Вам нужно не "использовать", а реализовать свои методы интерфейса AudioClip внутри вашего окна. В интерфейсе внутри методов никакого кода нет, есть только их описание. Если же Вы хотите использовать готовый класс - наследник AudioClip, используйте шаблон "декоратор". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 19:16 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
А вообще-то зачем? Неужели нельзя просто Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 19:23 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
во-первых - почитать про интерфейсы во-вторых - прочитать про другие виды отношений между классами (ассоциацию, агрегацию и композицию) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 19:52 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
funikovyuriво-первых - почитать про интерфейсы во-вторых - прочитать про другие виды отношений между классами (ассоциацию, агрегацию и композицию) В третих читать design patter как делается множественное наследование без онного. В четвертых читать как работает С++, и как работал транслятор Zortich C++ (C++->C) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 11:10 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
ого загнули - design patterns изучать. Вот у меня просто фантазии не хватило бы придумать необходимость такого наследования: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 11:21 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
XMого загнули - design patterns изучать. Вот у меня просто фантазии не хватило бы придумать необходимость такого наследования: Код: plaintext и че тут такого? Это кстати в любой книжке написано. Только обычно на примере с апплетом - ...extends JApplet implements Runnable{... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 11:37 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
2 wessen Концептуально неправильно. Как Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 11:45 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
XM 2 wessen Концептуально неправильно. Как Код: plaintext Если с этой стороны смотреть, тогда да :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 11:48 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
концептуальность в ваших раках :) можно и с множественным наследованием такого понагородить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 11:55 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Вы рассматриваете мой вопрос с позиции расставленных на ширину гаражных ворот пантов. А рассмотрите его с точки зрения человека изучающего язык самостоятельно. Никто не будет тупо читать и запоминать 300-400 страниц теоретического материала и часто не работающих, и взятых с потолка примеров. Изучив минимальный теоретический материал все пытаются, что-то реализовать самостоятельно, используя книгу как источник недостающей информации. Например методы play(); loop(); stop(); из AudioClip.java без проблем можно использовать в апплете, но они не доступны объекту на базе Frame. Как к этим методам, по-простому, получить доступ в MyWindow, там, где обработчик событий нажатия на соответствующие кнопки расположенные во фрейме? Понятно, что код не полный. Нужно брать аудио фаил из списка и проигрывать. Но интересует как именно получить доступ к методам play(); loop(); stop();, все остальное просто. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 12:56 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
...Никто не будет тупо читать и запоминать 300-400 страниц теоретического материала... А я так и делаю, читаю и запоминаю, может я тупой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:03 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
wessen ...Никто не будет тупо читать и запоминать 300-400 страниц теоретического материала... А я так и делаю, читаю и запоминаю, может я тупой? А иногда второй раз перечитываю, ну точно тупой.... По сабжу, а что значит "не работают методы", вылетает исключение или чего нить другое происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:06 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Наверное так должно сработать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:15 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
опечатка Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:17 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Сергей. Р.Вы рассматриваете мой вопрос с позиции расставленных на ширину гаражных ворот пантов. Нужно брать аудио фаил из списка и проигрывать. Но интересует как именно получить доступ к методам play(); loop(); stop(); извени нас всех. а зачем тебе использовать AudioClip? используй более совершенные технологии. http://java.sun.com/j2se/1.5.0/docs/guide/sound/programmer_guide/contents.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:21 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
wessen ...Никто не будет тупо читать и запоминать 300-400 страниц теоретического материала... А я так и делаю, читаю и запоминаю, может я тупой? не переживай. не ты один такой.... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:22 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Все равно не вижу проблемы Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 13:24 |
|
||
|
Проблема с отсутствием множественного наледования.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за помощь. Проблему решил сам, а теперь буду изчучать, что посоветовали. Многие вещи можно по разному делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 15:18 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=808&tid=2152515]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 382ms |

| 0 / 0 |
