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

Что содержит этот объект?

16.03.2013, 23:42. Показов 982. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Я что-то запутался в объектах.. подскажите по поему коду:

Java
1
2
3
4
5
6
7
8
9
10
Item i1 = new Item("Bread", 0.95);
Item i2 = new Item("Milk", 0.55);
.......
Order receipt = new Order();
receipt.add(i1, 1);
receipt.add(i1, 5);
receipt.add(i2, 3);
receipt.add(i2, 1);
.......
s.receive(receipt);
receipt.add добавляет заказы (название товара и его количество). Мне необходимо подсчитать общее количество заказываемого товара. i1 = 6 штук, i2 - 4 штуки. Сделать это надо через запись s.receive(receipt).

Можно ли написать метод s.receive(receipt) ? содержится ли какая-то информация в передаваемом receipt ?? Поясните, пожалуйста, у меня что-то голова перестала соображать..
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2013, 23:42
Ответы с готовыми решениями:

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

Способ определить, что объект obj1 используется как объект синхронизации в текущий момент
Привет. Существует ли способ определить, что объект obj1 используется как объект синхронизации в текущий момент? т.е. есть конструкция...

Как показать, что объект ничего не содержит?
Возникла проблема при изучении "Структуры данных и алгоритмы java" Роберта Лафоре. Решил изучать именно по этой книге, потому что c++ и...

7
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
17.03.2013, 00:00
Цитата Сообщение от Exxtazy Посмотреть сообщение
Можно ли написать метод s.receive(receipt) ?
определенно можно! наверно

Цитата Сообщение от Exxtazy Посмотреть сообщение
содержится ли какая-то информация в передаваемом receipt ??
да. там содержится ссылка на объект класса Order. точнее вы передаете ссылку в ваш метод. следовательно в методе s.receive(receipt) вы будете видеть тот же объект что и в вызывающем методе.

Цитата Сообщение от Exxtazy Посмотреть сообщение
у меня что-то голова перестала соображать..
напейтесь! ооп после процедурки лучше всего осваивать с канистрой пива =D
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
17.03.2013, 01:25
Цитата Сообщение от Exxtazy Посмотреть сообщение
содержится ли какая-то информация в передаваемом receipt ??
там содержится 1 обьект класса Order, внутри которого содержатся ссылки на 2 объекта классов Item, а также 4 ссылки на обьекты класса Integer.
в свою очередь внутри каждого обьекта класса Item соержится по 1 обьекту класса String и класса Double
1
0 / 0 / 1
Регистрация: 19.02.2012
Сообщений: 83
17.03.2013, 02:25  [ТС]
AckiyBolt, mutagen, вроде всё ясно) содержится только ссылка на объект класса Order.

Java
1
2
Stock s = new Stock();
s.receive(receipt);
Значит, на словах, чтобы вывести общее количество каждого заказанного товара, необходимо сделать цикл for(), перебирающий каждый объект класса Order.
В этот цикл for() поместить ссылку на метод s.receive(receipt).
В классе Stock сделать геттеры названия товара и количества.
далее в классе Stock, наверное, лучше всего сделать коллекцию Map. Передаём в Stock в метод receive(Order receipt) новый объект (название, количество) - если key (название товара) с таким значением нет, то добавляем новую запись в мапе. Если такой key уже имеется, то к уже имеющемуся value прибавляем новое количество товара.

Правильная логика? (на уровне детского сад задача

Не по теме:

ооп после процедурки лучше всего осваивать с канистрой пива =D
а я наоборот ушёл в завязку и решил изучить Яву :D видимо не надо было бросать))

0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
17.03.2013, 09:09
Цитата Сообщение от Exxtazy Посмотреть сообщение
В этот цикл for() поместить ссылку на метод s.receive(receipt).
я вот это место не понял. а в целом идея имеет право на существование

Не по теме:

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

0
0 / 0 / 1
Регистрация: 19.02.2012
Сообщений: 83
17.03.2013, 09:28  [ТС]
я имел ввиду код:
for( ... ) {
s.receive(receipt);
}
Мой лексикон программиста видимо сильно хромает ^^

Не по теме:

Java
1
2
3
4
5
6
Order receipt = new Order();
receipt.add(i1, 1);
receipt.add(i1, 5);
 
Stock s = new Stock();
s.receive(receipt);
.. то есть в данном примере мы просим объект ''s'' класса Stock обработать сообщения от объекта ''receipt'' класса Order ? (просим объект 's' обработать сообщения от объекта "receipt"). Примерно так надо воспринимать s.receive(receipt); ?
Но при общении на форуме такой стиль не использовать, т.к. не все прогеры меня поймут?

0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
17.03.2013, 10:47
Если с английским нормуль, почитайте Head First "Design Patterns", очень поможет прояснить ООП головного мозга, когда он хорош, когда плох и когда нужна смесь композиции и наследования. И главное кроме примеров ООП у Вас появится знание о некоторых часто применяемых шаблонах проектирования. Подача материала гораздо лучше чем у банды 4, + примеры на Java
1
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
17.03.2013, 18:20
Цитата Сообщение от Exxtazy Посмотреть сообщение

Не по теме:

Java
1
2
3
4
5
6
Order receipt = new Order();
receipt.add(i1, 1);
receipt.add(i1, 5);
 
Stock s = new Stock();
s.receive(receipt);
.. то есть в данном примере мы просим объект ''s'' класса Stock обработать сообщения от объекта ''receipt'' класса Order ? (просим объект 's' обработать сообщения от объекта "receipt"). Примерно так надо воспринимать s.receive(receipt); ?
Но при общении на форуме такой стиль не использовать, т.к. не все прогеры меня поймут?

м... почти. объект класса в котором нахрдиться этот код будет обращаться к объекту класса Stock, передавая ему в сообщении receive() объект класса Order для <подставить ожидаемое действие>

я это говорил не о лексиконе, а о точке зрения, понимании, etc. лексикон и терминология это такое, всегда можно приспособится. программирование такая штука, что одна и та же фигня может отражать до десятка терминов
посмотри кижку, что я ниже написал, или мутагеновскую. его пожалуй для тебя будет полезней, я так понимаю оно более приземленное

Цитата Сообщение от mutagen Посмотреть сообщение
Если с английским нормуль, почитайте Head First "Design Patterns", очень поможет прояснить ООП головного мозга, когда он хорош, когда плох и когда нужна смесь композиции и наследования. И главное кроме примеров ООП у Вас появится знание о некоторых часто применяемых шаблонах проектирования. Подача материала гораздо лучше чем у банды 4, + примеры на Java
по поводу литературы всегда всем советую Буча - Объектно-ориентированный анализ и проектирование. оно типо о UML, но это наверно даже к лучшему. и паттерны там тоже затрагиваются
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2013, 18:20
Помогаю со студенческими работами здесь

При экспорте данных в pdf формате пишет: Убедитесь что объект существует и его имя не содержит ошибок?
Как исправить при экспорте данных в pdf формате пишет: Убедитесь что объект существует и его имя не содержит ошибок?

Интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект
Привет всем. Необходимо реализовать интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект. Не...

Как преобразовать ссылку на объект в указатель на этот объект?
Как преобразовать ссылку на объект в указатель на этот объект? Буду благодарен за помощь.

Объект не содержит программируемый объект "уфТребуетРемонта" при использовании пользовательской функции в УФ
Объект не содержит программируемый объект &quot;уфТребуетРемонта&quot; при использовании пользовательской функции в произвольном выражении условного...

Говорит что объект есть, но в коде точно видно что объект удаляется
Добрый день. Вот небольшой пример кода. IF NOT OBJECT_ID('tempdb..#TMP_1') IS NULL DROP TABLE #TMP_1 SELECT 1 as c INTO #TMP_1 ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru