0 / 0 / 1
Регистрация: 10.11.2015
Сообщений: 16
|
||||||
1 | ||||||
Иерархия классов и List для разных типов25.05.2016, 17:24. Показов 2812. Ответов 7
Метки нет (Все метки)
Здравствуйте, мне надо было составить иерархию классов: Деталь, механизм, изделие, узел. Это у меня вроде получилось. Но трудность заключается в том, что мне нужно создать List (либо массив) для всех этих классов, то есть в одном List-е должны храниться элементы различных типов (Detail, Gear и т.д)
Я пробую сделать List<object>, но тогда я не могу обращаться к методам классов. И мне во всём этом нужно организовать поиск, сортировку и вывод. Помогите пожалуйста дописать программу, либо дайте какой-либо совет. Заранее спасибо. Кликните здесь для просмотра всего текста
P.S. Иерархия классов должна быть именно такой, хотя по ГОСТУ мехнизм должен быть отдельным классом
0
|
25.05.2016, 17:24 | |
Ответы с готовыми решениями:
7
Метод с возвращаемым List разных типов Сравнение разных типов дочерних классов IComparable CompareTo Приведение типов разных классов с одинаковыми базовыми родителями Как сделать массив Collection из разных типов классов? |
17793 / 12944 / 3381
Регистрация: 17.09.2011
Сообщений: 21,227
|
|
25.05.2016, 17:47 | 2 |
Сообщение было отмечено DaniLaFokc72 как решение
Решение
DaniLaFokc72, создавайте List<Product>.
0
|
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
|
|
25.05.2016, 18:00 | 3 |
DaniLaFokc72,
Деталь, механизм, изделие, узел - вот эти понятия они друг из друга прямо проистекают и каждая последующая является более специфической версий предыдущей? Например, 1 изделие может включать в себя 1-N механизмов, каждый из которых в свою очередь может включать в себя 1-N деталей, каждый из которых в свою очередь может включать в себя 1-N узлов? А почему Product - абстрактный класс. Разве его экземпляр не должен быть создан?
0
|
0 / 0 / 1
Регистрация: 10.11.2015
Сообщений: 16
|
|
25.05.2016, 18:37 [ТС] | 4 |
Нет, эти классы полностью независимы друг от друга. А вот насчёт класса Product вы правы, сейчас исправлю
0
|
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
|
|
25.05.2016, 18:41 | 5 |
0
|
0 / 0 / 1
Регистрация: 10.11.2015
Сообщений: 16
|
|
25.05.2016, 19:02 [ТС] | 6 |
Под независимостью я подразумевал то, что кол-во изделий никак не связано с количеством, например, деталей.
0
|
17793 / 12944 / 3381
Регистрация: 17.09.2011
Сообщений: 21,227
|
|
25.05.2016, 21:42 | 7 |
Потому что не бывает просто продуктов. Вы не можете пойти в магазин и купить "продукт", вы всегда покупаете конкретную вещь: деталь, узел, механизм и т.д.
0
|
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
|
|
25.05.2016, 22:02 | 8 |
kolorotur,
Там в коде напротив класса Product стоит комментарий, что это Изделие. Если Изделие в данном случае является абстрактной сущностью для детали, узла, механизма (по аналогии: транспортное средство - автомобиль, грузовик, мотоцикл, гужевая повозка), тогда вопросов нет.
0
|
25.05.2016, 22:02 | |
25.05.2016, 22:02 | |
Помогаю со студенческими работами здесь
8
Иерархия классов для будущей игры Иерархия классов для представления геометрических фигур в контейнере Иерархия классов для хранения информации о заказах в кофейне и LINQ запросы Что такое ссылки, и для чего нужна иерархия классов при взаимодействии с ссылками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|