Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/131: Рейтинг темы: голосов - 131, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49

Создать иерархию классов, описывающих бытовую технику

12.02.2014, 17:23. Показов 27699. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать иерархию классов, описывающих бытовую технику. Создать несколько объектов описанных классов, часть из них включить в розетку"
это получается надо создать 3 класса?

что должно выводить?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2014, 17:23
Ответы с готовыми решениями:

Создать иерархию классов
создать иерархию класса Animal >Cat >Siamskaya Persidskai и определить , общие методы и уникальные методы для каждого класса, Не могу...

Создать на Java иерархию классов
Создать на Java иерархию классов -Graph -- Point --- Arc ----Bezier curves -Background Класс Graph должен содержать...

Разработать иерархию классов
Помогите пожалуйста, не знаю как сделать 1. Разработать иерархию классов – коктейлей. Коктейль определяется ингредиентами, их...

63
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
12.02.2014, 17:46
ну например, абстрактный класс "Бытовая техника" с методом "включитьВРозетку()", который переопределяется в подклассах. Подклассы "Холодильник", "Стиральная машина"

Добавлено через 3 минуты
вывод в консоль, например,:
Холодильник включен в розетку

1
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
12.02.2014, 17:54  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
abstract class Household 
        {
    public int power; 
    public boolean state;
    public int performance;
    abstract void provisions();
        }   
class Category extends Household
  {
    public String video;
    public String audio;
    
class Names 
    {
        
    }
 
@Override
void provisions() {

структура примерно такого?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
12.02.2014, 18:02
класс Category не подходит под наследование.

Наследуйте от Бытовой техники - Крупную бытовую технику и мелкую бытовую технику.

От крупной - холодильник, от мелкой - блендер.

В КБТ и МБТ пусть будут тоже абстрактными, а вот реализацию "включитьВРозетку()" сделайте уже конкретно в классах Холодильник и Блендер
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
12.02.2014, 18:04
Или вместо наследования используй интерфейсы, имхо будет гибче на порядок.
лениво пример писать
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
12.02.2014, 18:05  [ТС]
Цитата Сообщение от dan41k Посмотреть сообщение
класс Category не подходит под наследование.
можно пояснить более подробнее?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
12.02.2014, 18:08
Цитата Сообщение от verylazy Посмотреть сообщение
Или вместо наследования используй интерфейсы, имхо будет гибче на порядок.
лениво пример писать
если это из университета - то там любят наследование, наверное) Любят задачи в стиле "Унаследовать автомобиль от гайки"

Добавлено через 2 минуты
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
можно пояснить более подробнее?
пусть меня поправят, но класс Категория - это агрегация. Почитайте отличие наследования от композиции и агрегации.
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
12.02.2014, 18:18  [ТС]
Цитата Сообщение от dan41k Посмотреть сообщение
если это из университета - то там любят наследование, наверное) Любят задачи в стиле "Унаследовать автомобиль от гайки"
нет это не из университета
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
12.02.2014, 18:23
Java
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
public class A {
    public static void main (String[] args) {
        Household hh = new IceBox("Холодец");
        hh.plugIn();
    }
}
 
abstract class Household {
    abstract void plugIn();
}
 
 
class IceBox extends Household {
    
    String name;
    
    public IceBox(String name) {
        this.name = name;
    }
 
    @Override
    public void plugIn() {
        System.out.println(this+" включен в розетку!");
    }
    
    @Override
    public String toString() {
        return name;
        
    }
    
}
это с абстрактным классом. С интерфейсом лучше, конечно, но будем наследоваться)

Добавлено через 1 минуту
сделайте по аналогии какой-нибудь другой класс) только name надо вставить в поле абстрактного класса...чего-то я промазал)
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
12.02.2014, 18:27  [ТС]
ок, спасибо)
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
12.02.2014, 18:31
ноу проблэм
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 15:25  [ТС]
Цитата Сообщение от verylazy Посмотреть сообщение
Или вместо наследования используй интерфейсы, имхо будет гибче на порядок.
не могли про консультировать по поводу интерфейсов?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 15:38
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
не могли про консультировать по поводу интерфейсов?
Java
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
public class A {
    public static void main (String[] args) {
        Household hh = new IceBox("Холодец");
        hh.plugIn();
        Household h = new Washer("Zanussi");
        h.plugIn();
    }
}
 
interface Household {
    void plugIn();
}
 
 
class IceBox implements Household {
    
    String name;
    
    public IceBox(String name) {
        this.name = name;
    }
 
    public void plugIn() {
        System.out.println(this+" включен в розетку для холодильника!");
    }
    
    @Override
    public String toString() {
        return name;
        
    }
    
}
 
class Washer implements Household {
    
    String name;
 
    public Washer(String name) {
        this.name = name;
    }
 
    public void plugIn() {
        System.out.println(this+" включен в розетку для стиралки!");
    }
    
    @Override
    public String toString() {
        return name;
        
    }
}
интерфейс говорит объекту как себя вести.(Поэтому все методы интерфейса должны быть определены в классе, которые имплементит этот интерфейс)
1
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 15:43  [ТС]
Цитата Сообщение от dan41k Посмотреть сообщение
интерфейс говорит объекту как себя вести.(Поэтому все методы интерфейса должны быть определены в классе, которые имплементит этот интерфейс)
если мне надо вывести на пример: мощность, состояния, производитель, категория. то это мне надо создавать для каждого о дельный интерфейс?
а потом определить их в классе?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 15:54
Создаете в том же Household, например, метод:

Java
1
2
3
4
interface Household {
    void plugIn();
    void printCharacteristics();
}
который будет отвечать за вывод характеристик в вашей бытовой технике. А потом просто определяете этот метод в каждом классе. Например в Стиральных машинах вам нужно вывести число оборотов+производитель+категория, а в Холодильниках мощность заморозки+производитель+категория.
Вывод будет зависеть от того, куда ссылается переменная

Java
1
Household hh
если это будет холодильник - выведет параметры холодильника, если что-то другое - другое.

Добавлено через 1 минуту
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
о дельный интерфейс
либо можете отдельный создать...

Добавлено через 3 минуты
но все-таки в этом случае наследование нужно. Получается, что поле name - повторяется в обоих классах.
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 15:56  [ТС]
если я вас правильно понял то примерно структура такова?
Java
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
56
interface Household 
        {
    public void power(int a); 
    public void performance(String p);
    
        }   
interface State {
     public void on(); 
     public void off() ;
            
}
interface Category 
  {
    String video();
    String audio();
  }
class IceBox implements Household, State, Category 
    {
 
    @Override
    public String video() {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public String audio() {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public void on() {
        // TODO Auto-generated method stub
        
    }
 
    @Override
    public void off() {
        // TODO Auto-generated method stub
        
    }
 
    @Override
    public void power(int a) {
        // TODO Auto-generated method stub
        
    }
 
    @Override
    public void performance(String p) {
        // TODO Auto-generated method stub
        
    }
        
    }
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 15:59
вставляйте код отформатированным

да, именно так)

Java
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
public class A {
    public static void main (String[] args) {
        PlugInable hh = new IceBox("Холодец");
        hh.plugIn();
        PlugInable h = new Washer("Zanussi");
        h.plugIn();
    }
}
 
abstract class Household {
    String name;
 
    public Household(String name) {
        this.name = name;
    }
 
    @Override
    public String toString() {
        return name; 
    }
}
 
interface PlugInable {
    void plugIn();
}
 
 
class IceBox extends Household implements PlugInable {
    
    public IceBox(String name) {
        super(name);
    }
 
    public void plugIn() {
        System.out.println(this+" включен в розетку для холодильника!");
    }
    
}
 
class Washer extends Household implements PlugInable {
 
    public Washer(String name) {
        super(name);
    }
 
    public void plugIn() {
        System.out.println(this+" включен в розетку для стиралки!");
    }
    
}
чуть измененный пример)
1
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 16:06  [ТС]
Цитата Сообщение от dan41k Посмотреть сообщение
вставляйте код отформатированным
это как?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:10
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
это как?

Не по теме:

да простят нас за оффтоп) В том окошке где вы вписываете сообщение форума есть кнопочка "JAVA"

0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 16:15  [ТС]
спасибо, буду знать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2014, 16:15
Помогаю со студенческими работами здесь

Cоздать иерархию классов
1) Создать абстрактный класс Программное_обеспечение с методами, позволяющими вывести на экран информацию о программном обеспечении, а...

Построить иерархию классов
1. Построить иерархию классов в соответствии с заданием. Задание: Рабочий, кадры, инженер, администрация (задание можно выполнить в...

Не могу понять иерархию классов java
Я не могу понять что есть что. Вот к примеру, есть пакет java.util.collection и следующая схема Все стрелочки идут к какому-то одному...

Иерархию классов для хранения информации
Доброго времени суток Интересует ход решения задачи: Необходимо разработать иерархию классов для хранения информации об выполненных...

Как правильно составить иерархию классов\интерфейсов?
Сразу же просьба к модераторам не ругать за такой заголовок. Просто у меня не получается в двух словах описать суть проблемы. Итак, на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru