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

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

12.02.2014, 17:23. Показов 27628. Ответов 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
Java, C# - Expert
 Аватар для IceSqueez
69 / 69 / 12
Регистрация: 09.08.2011
Сообщений: 284
13.02.2014, 16:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
это как?
когда пишите сообщение над поллем ввода есть названия языков "С++", "С#", "Pascal" и другие выделяете код и кликаете по языку, в данном случае Java

Добавлено через 34 секунды

Не по теме:

Упс))) не успел :)

0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.02.2014, 16:27
Я не претендую на истину, но вижу это так.
У нас есть объекты - бытовая техника. Я сажусь и выписываю на бумагу их характеристики и особенности поведения.
Например - имя, вес, размеры, может включаться в розетку, имеет нагревательный элемент, имеет информационное табло и так далее.

дальше необходимо понять что из вышеперечисленного является общей характеристикой для всех объектов.

Из того, что я перечислил можно выделить - имя, вес, размеры. Этими характеристиками обладает любой объект домашней техники.

Поэтому мы делаем private поля у класса-родителя HouseHold для веса, размеров и наименования товара.

У нас остались (утрировано) такие характеристики как - имеет нагревательный элемент, имеет информационное табло.
Их можно сделать в виде интерфейсов.

Нет необходимости применять все интерфейсы к HouseHold. Так же нет необходимости в каждом классе-потомке определять поля вес, размеры, имя - достаточно того, что они определены в родительском классе.

В классе потомке предусмотреть конструкторы, которые могут понадобиться. Пустой конструктор не комильфо, ибо надо задать как минимум наименование товара при создании объекта.

не мастер я объяснять
2
Java, C# - Expert
 Аватар для IceSqueez
69 / 69 / 12
Регистрация: 09.08.2011
Сообщений: 284
13.02.2014, 16:35
Совершенно согласен с verylazy, за исключением
Цитата Сообщение от verylazy Посмотреть сообщение
private поля у класса-родителя
скорее лучше protected Что-бы они были доступны у наследников
2
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.02.2014, 16:39
я просто забыл написать про геттеры-сеттеры, потому и осталось private поле

насчет protected логичное замечание
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 16:40  [ТС]
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
import State.State;
interface Household 
        {
    public void power(int a); 
    public void performance(String p);
    public void state(boolean state);
        }   
interface Category 
  {
    String video();
    String audio();
    String kitchen();
  }
class IceBox implements Household, State, Category 
    {
    @Override
    public String video() { 
        return null;
    }
    @Override
    public String audio() {
        return null;
    }
 
    @Override
    public void on() {
        state(true);    
    }
    @Override
    public void off() {
        state(false);
        
    }
 
    @Override
    public void power(int a) {
         System.out.println( "Мощность:240 квт");    
    }
    @Override
    public void performance(String p) {
         System.out.println("Производитель: Беларусь");
        
    }
    @Override
    public void state(boolean state) {
          if (state == true)
               System.out.println( "Прибор включен");
              else
                  System.out.println("Прибор выключен");  
    }
    @Override
    public String kitchen() {   
        return "kitchen";
    }
        
    }
вот что получилось. теперь нужен метод main для вывода, но по твоему примеру не могу понять как мне вывести
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:41
Цитата Сообщение от verylazy Посмотреть сообщение
насчет protected логичное замечание
может все-таки private лучше? инкапсуляция же
0
Java, C# - Expert
 Аватар для IceSqueez
69 / 69 / 12
Регистрация: 09.08.2011
Сообщений: 284
13.02.2014, 16:48
Java
1
2
3
4
public static void main() {
    IceBox ice = new IceBox();
    System.out.println(ice.kitchen());
}
И еще такое маленькое замечание, по правилам языка(забыл как называется... грех мне на душу) Java/C# 1 класс/интерфейс = 1 файл.

Добавлено через 38 секунд
Цитата Сообщение от dan41k Посмотреть сообщение
может все-таки private лучше?
если писать геттеры и сеттер да, а если без них то как достучатся к полю ?
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:50
Цитата Сообщение от IceSqueez Посмотреть сообщение
если писать геттеры и сеттер да, а если без них то как достучатся к полю ?
Значит нужно писать) поля то нужно скрыть)

Блин, и зачем тогда интерфейс, если создаем переменную типа IceBox?
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.02.2014, 16:51
я часто для интереса тестирую на скорость разные варианты кода
вызов методов раза в 2-3 медленнее, чем прямой доступ к полю
под андроид так вообще жесть
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:52
Java
1
2
3
4
public static void main() {
    Household ice = new IceBox();
    System.out.println(ice.state(true));
}
1
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.02.2014, 16:54
я бы HouseHold сделал абстрактным что бы не возникало тяги писать вот так:
Цитата Сообщение от dan41k Посмотреть сообщение
Household ice = new IceBox();
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:55
Цитата Сообщение от verylazy Посмотреть сообщение
я бы HouseHold сделал абстрактным что бы не возникало тяги писать вот так:
так это же интерфейс? Почему не так?
0
Java, C# - Expert
 Аватар для IceSqueez
69 / 69 / 12
Регистрация: 09.08.2011
Сообщений: 284
13.02.2014, 16:56
Цитата Сообщение от dan41k Посмотреть сообщение
Блин, и зачем тогда интерфейс, если создаем переменную типа IceBox?
Попросили main я и написал простой main.
С такой-же целью можно задать вопрос, зачем столько методов если используется только
Java
1
ice.kitchen()

Цитата Сообщение от dan41k Посмотреть сообщение
Значит нужно писать) поля то нужно скрыть)
Это уже дело на любителя... ибо я не вижу смысла писать геттер и сеттер, если и тот и тот паблик и просто присваивает значение, без проверок без не чего... Зачем ?? просто добавить 2 лишних метода ?)
А если надо ставить проверки тогда да
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 16:57  [ТС]
сорри за мой тупизм
что получатся
родительский класс(в нем поля которые подходят для любой технике)
интерфейсы (создаются обЪектов у которых разные значения)
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 16:59
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
родительский класс(в нем поля которые подходят для любой технике)
да
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
интерфейсы (создаются обЪектов у которых разные значения)
нет. Например, если один объект тоже может делать дело, что и другой, но по-другому)
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.02.2014, 17:04
Цитата Сообщение от dan41k Посмотреть сообщение
так это же интерфейс? Почему не так?
почему интерфейс? по идее это должен быть родительский абстрактный класс
ааа блин, сейчас пример попробую написать с минимумом полей
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 49
13.02.2014, 17:05  [ТС]
о великие гуру после прочтения вашей дискуссии, понял что не чего не понял буду пробовать все с нуля
0
Java, C# - Expert
 Аватар для IceSqueez
69 / 69 / 12
Регистрация: 09.08.2011
Сообщений: 284
13.02.2014, 17:10
Цитата Сообщение от verylazy Посмотреть сообщение
по идее это должен быть родительский абстрактный класс
Почему ?? Если в нем будут virtual методы которые не обязательно переопределять тогда да, а если там только abstract, тогда разници как это написать нету что серез interface что через abstract class

Добавлено через 3 минуты
Цитата Сообщение от Falen_Angel1 Посмотреть сообщение
о великие гуру после прочтения вашей дискуссии, понял что не чего не понял буду пробовать все с нуля
Читаешь доки - практика, понял ? умница, не понял ?? начинай с начала

Добавлено через 30 секунд
И желательно по больше практики.... практика наше все
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
13.02.2014, 17:18
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package MyCoolPackage;
 
abstract public class HouseHold {
    protected String name; // наименование
    protected float weight; // вес
}
 
// может включаться в розетку
interface Pluggable {
    void plug();
    void unplug();
}
 
// устройство имеет лампочку
interface HasInfoLED {
    void turnLED(boolean b);
}
 
// чайник со светодиодом
class Dummy extends HouseHold implements Pluggable, HasInfoLED {
    
    public Dummy() {
        name = "ЧАЙНИК";
    }
 
    public Dummy(float weight) {
        name = "ЧАЙНИК";
        this.weight = weight;
    }
 
    @Override
    public void plug() {
        System.out.println("меня включили");
    }
 
    @Override
    public void unplug() {
        System.out.println("меня включили");
    }
 
    @Override
    public void turnLED(boolean b) {
        if (b == true) {
            System.out.println("меня включили");
        } else {
            System.out.println("выключили");
        }
    }
}
 
// у электробритвы типа нет светодиода, поэтому только Pluggable
class Shaver extends HouseHold implements Pluggable {
 
    public Shaver() {
        name = "БРИТВА";
    }
 
    public Shaver(float weight) {
        name = "БРИТВА";
        this.weight = weight;
    }
 
    @Override
    public void plug() {
        // TODO Auto-generated method stub
    }
 
    @Override
    public void unplug() {
        // TODO Auto-generated method stub
    }
}
Java
1
2
3
4
5
6
7
8
9
10
package MyCoolPackage;
 
public class TestHH {
 
    public static void main(String[] args) {
        Dummy d = new Dummy();
        System.out.println(d.name);
        d.plug();
    }
}
0
]:->
 Аватар для dan41k
102 / 96 / 19
Регистрация: 12.11.2013
Сообщений: 398
13.02.2014, 17:19
Цитата Сообщение от verylazy Посмотреть сообщение
почему интерфейс? по идее это должен быть родительский абстрактный класс
ааа блин, сейчас пример попробую написать с минимумом полей
у него в примере просто интерфейс что-то путаница)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2014, 17:19
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru