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

Связать слово с экземпляром класса

17.06.2016, 13:00. Показов 1989. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Второй день ломаю голову (гуглить пробовал - не предлагать), поэтому чтобы не ломать и дальше, решил создать тему.

Есть строковые переменные, например:
C#
1
2
3
string strOrange="апельсин";
string strApple="яблоко";
string strBanana="банан";
Есть три класса со своими экземплярами:
C#
1
2
3
Orange orange1 = new Orange();
Apple apple1 = new Apple();
Banana banana1 = new Banana();
Задача: Чтобы, когда юзер введет слово, например - банан, то прога найдет объект banana1 и совершит с ним дальнейшие действия (методы вызовет или еще чего). Как это реализовать? То есть, как привязать вызов объекта к слову?
Вроде понятно объяснил)

P.S. switch и if не предлагать, так как объектов, как и классов, будет не 1, не 2 и не 10.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2016, 13:00
Ответы с готовыми решениями:

Multiprocessing array с экземпляром класса
добрый день. Решил протестировать как будет вести себя программа в мульти поточных вычислениях. Начал разбираться нашёл модуль...

Разница между объектом и экземпляром класса
Можете объяснить какая между этими понятиями разница?

Узнать экземпляром какого класса является перемещаемая форма?
Здравствуйте! Использую Delphi 6. В программе есть активноя форма, есть дочерние формы. Дочерние формы являются экземплярами кастомных...

24
 Аватар для Cupko
660 / 597 / 171
Регистрация: 17.07.2012
Сообщений: 1,686
Записей в блоге: 1
17.06.2016, 14:32
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Tilesto Посмотреть сообщение
Сижу думаю над проблемой: в интерфейсе есть, например, два метода, а в классах в одном эти два метода есть, а в другом только один и еще один, но другой. Как тогда быть, обязательно ли в классах должны быть реализованы все методы интерфейса или нет.
Есть такая штука как Interface Segregation Principle, почитайте.

Тут вообще об ООП речь идет, или абы как? Где виртуальные методы с наследованием?
1
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
17.06.2016, 14:33
Цитата Сообщение от Tilesto Посмотреть сообщение
Сижу думаю над проблемой: в интерфейсе есть, например, два метода, а в классах в одном эти два метода есть, а в другом только один и еще один, но другой. Как тогда быть, обязательно ли в классах должны быть реализованы все методы интерфейса или нет.
Реализация всех методов в интерфейсе, в данном случае, сведет все усилия к нулю. Какую задачу решает интерфейс в данном случае? Чтобы независимо от конкретного типа объекта код его обработки не менялся. То есть реализовывать в интерфейсе надо только то, что позволить все экземпляры интерфейса обрабатывать независимо от их конкретного типа. Иначе все бессмысленно.
Цитата Сообщение от aquaMakc Посмотреть сообщение
на мой скромный взгляд dynamic - чужеродный элемент в c# и "не нужен"
Насчет чужеродного и бессмысленного я бы поспорил, а о том, что это плохое решение я и сам написал. Просто иногда ущерб от плохих решений с лихвой покрывается выгодами, а догматизм никогда ни к чему хорошему не приводит.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
17.06.2016, 14:33
Цитата Сообщение от Cupko Посмотреть сообщение
Тут вообще об ООП речь идет, или абы как? Где виртуальные методы с наследованием?
Мне было лень их писать, а ТС схватившись за мой пример, пока, судя по всему, не в теме.
0
7 / 7 / 0
Регистрация: 14.05.2015
Сообщений: 145
17.06.2016, 14:39  [ТС]
Cupko, ок, спасибо - читаю) Википедия доходчиво объяснила) Наследование упомянули уже, а вот виртуальные методы сейчас же пошли в "мастрид" для углубленного изучения)

diadiavova, понял, спасибо)

aquaMakc, так и есть) Ваш пример пока полностью устраивает, а что будет дальше узнаю попозже)
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
17.06.2016, 14:46
Цитата Сообщение от diadiavova Посмотреть сообщение
догматизм никогда ни к чему хорошему не приводит
догматизм повышает шанс, что другой программист взяв исходник поймёт что там происходит. Да что там другой. Свой код через полгода-год без поллитра порой тяжко понимается ).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2016, 14:46

Как связать сигнал одного класса со слотом другого класса, содержащего указатель на объект этого класса?
Подскажите, пожалуйста, как связать сигнал одного класса со слотом другого класса, содержащего указатель на объект этого класса. Буду очень...

Почему при компилировании программы со вторым экземпляром класса изменяются значения первого?
Здравствуйте. Вопрос: почему при компилировании программы со вторым экземпляром класса изменяются значения первого? namespace SALES { ...

Нужно ли в данном случае делать класс статическим ? или пользоваться экземпляром класса?
Всем привет , уже давно написал программу в стиле говнокода , так как уже более вник в язык хочу переписать красиво , вот тут немножко...

Написать игру. Опишите классы (Мечник), (Лучник), (Маг), каждый из которых является экземпляром базового абстрактного класса
Добрый день, привет всем! Помогите пожалуйста решить задание: Опишите классы "Swordsman" (Мечник), "Archer"...

Как правильно связать наступление события OnMouseClick класса TImageMap с OnMouseClick класса TSurface
Есть некий потомок TImage на котором нарисована матрица объектов. TImageMap = class(TImage) cols,rows:integer; // количество...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru