Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Иерархия классов 
V
    Опции темы
kornata
Дата 19.3.2010, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 25.2.2010

Репутация: нет
Всего: нет



Я изучаю Джаву. Я хочу сделать вот что:

Создайть иерархию классов телефонов, включая мобильные. 
Создайть иерархию классов музыкальных центров. 
Создайть класс Human() с методом для слушания mp3-музыки. 

Как организовать всё так, чтобы человек мог слушать mp3 и с музыкального центра и с мобильного телефона?

 smile 
PM MAIL   Вверх
MaxPayneC
Дата 19.3.2010, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Можно поподробнее, что вам нужно сделать... "слушать мп3" следует понимать не буквально?
PM   Вверх
Artemon
Дата 19.3.2010, 21:37 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



class CDevice
calss IMp3Play
class IMp3Listen
class CPhone : public CDevice, IMp3
class CHuman : public IMp3Listen


Все что начинается с I - интерфейс
Все что начинается с C - класс



--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
kornata
Дата 19.3.2010, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 25.2.2010

Репутация: нет
Всего: нет



Цитата(MaxPayneC @  19.3.2010,  21:33 Найти цитируемый пост)
Можно поподробнее, что вам нужно сделать... "слушать мп3" следует понимать не буквально?


Честно говоря, это задание не я придумала. И подробнее сказать ничего не могу.


Artemon,  smile 
PM MAIL   Вверх
MaxPayneC
Дата 19.3.2010, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Код

public interface MP3Player
{
void playMP3(String mp3); //для простоты примера мп3 у нас будет строкой :)
}

public abstract class Phone
{
public abstract void dial(String phoneNumber);
}

public abstract class CellPhone extends Phone implements MP3Player
{
@Override
public void dial(String phoneNumber)
{
//в качестве "звонка" выведем набираемые цифры в стандартный поток вывода
System.out.println("+7" + phoneNumber);
}

@Override
public void playMP3(String mp3) //считаем, что любые сотовые телефоны проигрывают музыку одинаково
{
System.out.println(mp3);
}
}

public class MotorolaCellPhone extends CellPhone
{
}

public class NokiaCellPhone extends CellPhone
{
}

public class FixedPhone extends Phone //не уверен, как по-английски правильно звучит термин "стационарный телефон", если что переименуйте
{
@Override
public void dial(String phoneNumber)
{
System.out.println(phoneNumber);
}
}

public abstract class AudioRack implements MP3Player
{
public abstract String getName();
}

public class CDAudioRack extends AudioRack
{
@Override
public String getName()
{
return "I'm audio rack and I can play CDs";
}

@Override
public void playMP3(String mp3)
{
System.out.println("playing mp3 from the CD: " + mp3);
}
}

public class USBAudioRack extends AudioRack
{
@Override
public String getName()
{
return "I'm audio rack and I can play music from USB devices";
}

@Override
public void playMP3(String mp3)
{
System.out.println("playing mp3 from the USB device: " + mp3);
}
}

public class Human
{
private String mp3;

public Human(String mp3)
{
this.mp3 = mp3;
}

public void listenToMusic(MP3Player player)
{
player.playMP3(this.mp3);
}
}

//этот код работает с описанными сущностями
Human human = new Human("this is an awesome mp3");
//слушаем музыку с мобильного телефона Nokia
Phone phone = new NokiaCellPhone();
human.listenToMusic(phone);
//а теперь - с юсб-музыкального центра
AudioRack rack = new USBAudioRack();
human.listenToMusic(rack);

Вот. Извините что без форматирования - писал в окошке браузера.
PM   Вверх
kornata
Дата 19.3.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 25.2.2010

Репутация: нет
Всего: нет



Мысль понятна, большое Вам спасибо! Дальше буду думать сама.
PM MAIL   Вверх
MaxPayneC
Дата 19.3.2010, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Пожалуйста smile
PM   Вверх
kornata
Дата 25.4.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 25.2.2010

Репутация: нет
Всего: нет



Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.