|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
Создание иерархии классов: магазин электротоваров23.02.2019, 18:45. Показов 23321. Ответов 48
Метки нет (Все метки)
Уважаемые форумчане, нужно создать программу. В программе должны присутствовать: иерархия классов с указанием ключевых полей, свойств и методов для предметной области магазин электротоваров. Иерархия классов должна быть такой как на рисунке.
1. В каждом классе должно быть как минимум 3 поля. 2. Изменять значения поля можно только через методы. 3. Реализовать, как минимум 2 метода, в которых бы использовался полиморфизм. 4. В программе должна быть предусмотрена возможность создания экземпляров всех классов (кроме абстрактных) и задания и просмотра соответствующих полей и результатов выполнения методов. Я не прошу (пока ) писать сам код, хочу все сам сделать. Мне нужны названия классов, которые подойдут к этой иерархии по предметной области и их поля. Так как у самого в голову ни одной идеи не лезет.Еще раз повторюсь методы и сам код создания классов не писать (пока что ), хочу все сам сделать.
0
|
|
| 23.02.2019, 18:45 | |
|
Ответы с готовыми решениями:
48
Создание иерархии классов Создание иерархии классов и интерфейсов
|
|
10 / 0 / 2
Регистрация: 12.10.2015
Сообщений: 62
|
|||
| 23.02.2019, 20:07 | |||
|
Включайте фантазию! Здесь проблема не в том что в голову ничего не лезет, а вам просто лень. За то время пока вы всё это печатали можно уже было придумал 10 раз
Пример: Класс1 - это сам магазин електро-товаров, например основное отделение.(или абстрактный класс, если вы знаете что это) Класс2 - магазин электротоваров в вашей стране. Класс 3 -магазин за границей. Класс4 и Класс5 - магазины в вашей стране и в разных областях. Поля: имя магазина, расположение, суммарная цена всех товаров, валюта которой платят, оборот.... и так далее. Методы для полиморфизма: String который будет возвращать информацию про магазин, ясно что его надо переопределять так как у каждого магазина своя информация. Второй метод может быть подсчет оборота...
0
|
|||
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|||
| 23.02.2019, 23:38 [ТС] | |||
|
0
|
|||
|
10 / 0 / 2
Регистрация: 12.10.2015
Сообщений: 62
|
|
| 23.02.2019, 23:45 | |
|
Владислав_Никол, писал на скорую руку и может не совсем "лаконично", логический смысл наследование это то, что наследник расширяет базовый класс(в жизни, как бы делает его более конкретным и специфичным). Тут же с магазинами, чем ниже класс в иерархии тем специфичные есть ваш магазин(в данном случае речь идет о местонахождении, находится в стране или за страной, или более узко уже в какой то конкретной области).
0
|
|
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
||||||||||||||||||||||||||||||||
| 27.02.2019, 18:54 [ТС] | ||||||||||||||||||||||||||||||||
|
Народ вообщем тему задания мне изменили. Сделал иерархию поликлиники с такими классами
1. Абстрактный класс Персоны поликлиники
Во-вторых по поводу задания
0
|
||||||||||||||||||||||||||||||||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 27.02.2019, 19:00 | |
|
0
|
|
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
| 27.02.2019, 19:03 [ТС] | |
|
И еще хотелось бы спросить насчет полиморфизма это ведь использование одинакового метода в классах, но переопределяя его. И вот не могу понять какие два метода использовать к этой иерархии с полиморфизмом?
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 27.02.2019, 19:50 | |
|
Владислав_Никол, можно переопределить:
1) public String toString() Object'а для вывода публичной информации; 2) public String getPrivateInfo() для вывода приватной информации.
0
|
|
|
|
||
| 28.02.2019, 11:42 | ||
|
"склад" "движение товара", "брак, испорченный товар" "лучше продающийся товар", "грузчик испортил товар" В основном иерархия объектов будет относиться не к предметной области электротоваров, а к предметной области магазина, логистике и продаже. Добавлено через 14 минут Рекомендую книгу Майкла Моргана "Руководство разработчика". Он хорошо описывает объектно-ориентированный анализ.
0
|
||
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
||||||
| 28.02.2019, 18:45 [ТС] | ||||||
|
Люди нужна помощь по заданию нужно создать два метода с полиморфизмом. Вот вроде бы сделал:
1. метод выводит всю инфу о пациенте. (Надеюсь я правильно понял суть полиморфизма?)
0
|
||||||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 28.02.2019, 18:54 | |
|
0
|
|
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
| 28.02.2019, 19:02 [ТС] | |
|
Да блин я никак не врублюсь в полиморфизм этот. Думал понял ан нет.
iSmokeJC, Да я и сам уже понял что это простой метод, а полиморфизмом тут и не пахнет. Буду думать дальше.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|||||||||||
| 28.02.2019, 19:12 | |||||||||||
|
Владислав_Никол, вот тебе простой пример
Владислав_Никол, обрати внимание на цикл . Добавлено через 1 минуту Видишь - в цикле перебираются объекты типа Больной, и неважно какие там больные. Главное, что у них всех точно есть метод info(), прописанный в интерфейсе.
0
|
|||||||||||
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
| 01.03.2019, 01:07 [ТС] | |
|
iSmokeJC, Спасибо вроде бы теперь понял. Только вот для моих классов какие методы с полиморфизмом использовать пока не придумал.
Добавлено через 3 минуты Это получается мне нужно создать какие-нибудь два метода, которые будут использовать все классы. А методы эти получается нужно прописывать в самом первом базовом классе так?
0
|
|
|
|
|
| 01.03.2019, 12:32 | |
|
Владислав_Никол, В упрощенном случае реализация полиморфизма:
Придумываете общий класс, например Доктор и наследуете от него более специфичные профессии. Терапевт, Фрактолог, Логопед, Гинеколог, Акушер, Хирург... и тд. Складываете всех в кучу, например в массив и вызваете метод для каждого элемента массива. Один и тот же метод будет у всех специфических профессий, но работать он будет по разному. Метод может быть сдать такие-то анализы, или доктор говорит.
0
|
|
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
| 01.03.2019, 13:31 [ТС] | |
|
vvm28, Да но мне именно надо под схему иерархии. Просто от одного базового класса натыкать других классов не выйдет. Хотя ваше замечание дельное сейчас подумаю.
0
|
|
|
|
|
| 01.03.2019, 14:59 | |
|
Владислав_Никол, если прямо вот под схему, тогда
Хирург extends Доктор ПомощникХирурга1 extends Хирург ПомощникХирурга2 extends Хирург Добавлено через 4 минуты Немного неправильно. ГлазнойХирург extends Хирург СердечныйXирург extends Хирург Поскольку они не помощники, а более узкая специализация.
0
|
|
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
| 01.03.2019, 22:21 [ТС] | |
|
vvm28, Скажем так вот иерархия получается
1. Абстрактный класс Доктор поля - фио, номер доктора, пол, возраст. (Это минимум) 2. класс Хирург extends Доктор 3. класс какой можно сделать класс наследуемый от доктора? я например сделал, следуя вашей логике, класс терапевт. 4. ГлазнойХирург extends Хирург 5. СердечныйXирург extends Хирург Но вот прикол в том что мне нужно что бы в каждом классе было как минимум по 3 поля присущих именно каждом классу. Сможете подсказать? У меня все поля в голову лезут, которые подходят всем классам. А индивидуально к каждому классу подобрать не могу. Пробовал даже такую иерархию. 1. абстрактный персоны поликлиники- фио, пол, возраст. 2. класс Доктор extends ПерсоныПолклиники - номер доктора, зарплата, категория. 3. класс Пациент extends ПерсоныПолклиники - тут поля легко придумать. 4. класс Хирург extends Доктор - специализация, кол-во операций, кол-во успешных операций. 5. класс Терапевт extends Доктор - вот тут какие придумать поля присуще именно этому классу не знаю.
0
|
|
|
|
|
| 02.03.2019, 00:35 | |
|
Ну я имел в ввиду что-то типа.
СердечныйXирург extends Хирург implements ПерсоналПоликлиники Вы напишите код, протестируйте. Пусть будет полей не по три. Пусть хотя бы одно поле. Но вся конструкция чтобы работала. Вы потом придумаете хоть сто полей. ПерсоналПоликлиники может содержать дату поступления на работу, оклад, стаж и тд. все что присуще персоналу.
0
|
|
|
4 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 125
|
|
| 02.03.2019, 00:55 [ТС] | |
|
А такой вопрос метод с полиморфизмом должен охватывать все классы в иерархии или нет?
0
|
|
| 02.03.2019, 00:55 | |
|
Помогаю со студенческими работами здесь
20
Отображение иерархии классов Простой пример иерархии классов, демонстрирующий полиморфный вызов метода Создание иерархии классов Создание иерархии классов Создание иерархии классов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|