Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 31.07.2018
Сообщений: 9

Общий массив из классов с одинаковым интерфейсом

18.05.2019, 05:15. Показов 1769. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 4 класса реализующий одинаковый интерфейс. В новом классе нужно создать общий массив из этих классов. В методе Main наполнить его при помощи конструкторов.Вот , что сделала я:

C#
1
2
3
4
5
6
7
8
9
10
11
interface I
    {
        string Name
        {
            get;
 
        }
 
      int GetMass ();
     
    }
Класс, где собирается массив общий:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
class Ferry
    {
        public const int Limit = 500000;
      
        protected  I[]  arr ;
        
       
 
        public Ferry (I[] arr)
        {
             this.arr=  arr;
            
        }
Дальше следующий код в методе Main не работает:
C#
1
2
3
4
5
Ferry[] ferries = new Ferry[] {
            new People("Фёдор",78),
            new RectangularContainer("Песок",2650),
            new AnyCargo("Брюлики", 100),
            new CylindricalTank ("Вода", 1000)};
Что я делаю не так?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2019, 05:15
Ответы с готовыми решениями:

Разница между полиморфизмом классов и интерфейсом
Собственно хочу услышать в чем главные отличия. Вдруг выплывут интересные факты...

Перебор классов в цикле с одним интерфейсом, но разными конструкторами
Есть классы с одним общим интерфейсом (например ITrackable). В каждом классе могут быть или не быть параметры в конструкторе. Нужно в...

Взаимодействие классов (инкапсуляция). Наибольший общий делитель
В классе "НОД" рассчитывается наибольший общий делитель двух чисел. Использовать объект данного класса для нахождения НОД для трёх чисел...

4
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
18.05.2019, 10:05
Цитата Сообщение от Vertyachka Посмотреть сообщение
Что я делаю не так?
C#
9
       public Ferry (params I[] arr)
Добавлено через 1 минуту
C#
1
2
3
4
5
6
7
Ferry ferry = new Ferry 
         (
            new People("Фёдор",78),
            new RectangularContainer("Песок",2650),
            new AnyCargo("Брюлики", 100),
            new CylindricalTank ("Вода", 1000)
        );
1
0 / 0 / 0
Регистрация: 31.07.2018
Сообщений: 9
18.05.2019, 18:24  [ТС]
Спасибо за ответ.Но всё равно не работает, видимо я не правильно составила конструктор в классе с общим массивом:
C#
1
2
3
4
5
 public Ferry (I[] arr)
        {
             this.arr=  arr;
            
        }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
18.05.2019, 18:33
Лучший ответ Сообщение было отмечено Vertyachka как решение

Решение

Цитата Сообщение от Vertyachka Посмотреть сообщение
видимо я не правильно составила конструктор в классе с общим массивом
Я же написал как должен объявляться конструктор!

C#
1
2
3
4
5
        public Ferry (params I[] arr)
        {
             this.arr=  arr;
            
        }
1
0 / 0 / 0
Регистрация: 31.07.2018
Сообщений: 9
18.05.2019, 18:37  [ТС]
Спасибо огромное! Всё работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2019, 18:37
Помогаю со студенческими работами здесь

Как связать несколько классов через один общий класс?
Здравствуйте. Есть несколько несвязанных классов, каждый из которых хранит указатель на один общий класс (посредник, устанавливается в...

Массив разных классов. Как добратся до всех полей этих классов?
Все классы имеют общего предка. Экземпляры этих классов запихнуты в один массив нужно както добраться до полей и методов которые...

Общий параметр для всех классов и создание объекта по известному адресу
Вообщем есть задание. Скажу сразу, вся реализация для меня понятна, за исключением одного момента. Поидее, мне нужен счётчик,...

Необходим общий private static-член для всех классов, сгенерированных по шаблону
Здравствуйте! Мне необходим общий private static-член для всех классов, сгенерированных по шаблону, и при этом, не хочется засорять...

Из двух целочисленных массивов различной размерности сформировать общий массив. Упорядочить полученный массив
Кто может сделайте пожалуйста. Из двух целочисленных массивов различной размерности сформировать общий массив. Упорядочить полученный...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru