powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование и интерфейсы.
25 сообщений из 384, страница 14 из 16
Наследование и интерфейсы.
    #39723691
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВТ. е. у тебя есть такая "маленькая" библиотечка, в которой как минимум на каждый класс и структуру из стандартной библиотеки .NET по декоратору и адаптору?А ты обычно занимаешься наследованием всех классов NET?
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723695
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕвгенийВТ. е. у тебя есть такая "маленькая" библиотечка, в которой как минимум на каждый класс и структуру из стандартной библиотеки .NET по декоратору и адаптору?А ты обычно занимаешься наследованием всех классов NET?
Если это необходимо.
Если писать провайдер для entity framework core или писать кастомную реализацию asp net identity core, то там наследования - мама не горюй.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723704
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВв которой как минимум на каждый класс и структуру из стандартной библиотекиЕвгенийВЕсли это необходимо.Так ты определись, на каждый или нет )
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723727
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВДизайнеры языка решили, что это меньшее из зол. С этим надо жить.

Не, ну погоди. Дизайнеры языка не боги и тоже совершают ошибки.
Понятное дело, что для обратной совместимости так просто баги не поправить.

Но это не означает, что надо использовать всё, что предоставляет язык, в том числе откровенно плохие, не эффективные и вредные решения.

Перекрытие метода -- одно из таких решений.
И лично я видел только одно сомнительно оправданное применение -- кодогенерация.

То, о чём идёт тред, не оправдано.
Какие-то чужие либы, основанные на них мои либы, которые тоже для кого-то чужие.
Это какой-то ппц, придумать можно любую ситуацию вплоть до того:

а что ты будешь делать, если завтра пойдёт дождь из кирпичей, а у тебя кончилось молоко, а???
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723728
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVosttНу обычно это решается адаптерами и декораторами.
Это известные способы решения проблем совместимости с чужими библиотеками и их изменениями.

Т. е. у тебя есть такая "маленькая" библиотечка, в которой как минимум на каждый класс и структуру из стандартной библиотеки .NET по декоратору и адаптору?

Зачем? Есть определённые ситуации, когда это нужно. Описаны в литературе, опытный разработчик в состоянии понять когда и что используется.

Также опытный разработчик не допускает таких тупых ситуаций. А кода они всё-таки возникают, то рефакторит. Разработка это живой процесс, а не забетонированный. Не надо рассказывать про какую-то чужую библиотеку, которая закрыта за семью печатями, а на неё завязано +100500 реализаций.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723730
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVosttпропущено...


Я же привёл в этой ветке пример с классом Stream.
Почитай плз и задай ещё раз вопрос.
Дай ссылку.

21714398
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723745
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttа что ты будешь делать, если завтра пойдёт дождь из кирпичей, а у тебя кончилось молоко, а???+1
Кто не понял этот топик предлагаю придумать новый отмаз для new.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723761
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Меня все время занимает вопрос. А зачем нужны такие сложные наследования?
Хотелось бы увидеть пример на реальных проблемах.
Наверное у меня настолько сложных задач не возникает или я их решаю более простыми средствами.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723762
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2такие сложные наследования

Какие?
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723764
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Агнец за бортомCat2такие сложные наследования

Какие?
Зачем нужен интерфейс для базового класса?
Все его фичи можно и в базовом классе описать.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723767
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Агнец за бортомпропущено...


Какие?
Зачем нужен интерфейс для базового класса?
Все его фичи можно и в базовом классе описать.

Интерфейс - это обещание реализации.
Зачастую, вариантов этих реализаций - несколько.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723769
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Агнец за бортомCat2пропущено...

Зачем нужен интерфейс для базового класса?
Все его фичи можно и в базовом классе описать.

Интерфейс - это обещание реализации.
Зачастую, вариантов этих реализаций - несколько.
В базовом классе несколько вариантов реализации?
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39723780
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Зачем нужен интерфейс для базового класса?
А, ну я не знаю. У меня нет "базового" класса.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724411
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Агнец за бортомпропущено...


Какие?
Зачем нужен интерфейс для базового класса?
Все его фичи можно и в базовом классе описать.
Например для ко/контр-вариантности.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724415
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕвгенийВпропущено...

Дай ссылку.

21714398
Это не совсем то, вернее совсем не то.
hVosttТак почему бы не добавить свой метод MySuperCopyTo и не ипать никому мозг? Просто не понимаю.
А если после того, как ты добавишь MySuperCopyTo, метод с таким именем появится в .NET Framework 100500 версии?
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724439
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВкак ты добавишь MySuperCopyTo, метод с таким именем появится в .NET Framework 100500 версии?а нужен? Это же твой метод для твоего наследника.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724477
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВА если после того, как ты добавишь MySuperCopyTo, метод с таким именем появится в .NET Framework 100500 версии?

И что? То, что ты его перекроешь своей реализацией означает, что через ссылку на базовый класс вызовут чужой метод, а прямые ссылки на твой класс твою, даже если ожидали чужую.

Т.е. это примерно как прикрыть какашку газеткой. Решение -- огонь.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724495
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
И что? То, что ты его перекроешь своей реализацией означает, что через ссылку на базовый класс вызовут чужой метод, а прямые ссылки на твой класс твою, даже если ожидали чужую.

Через ссылку на базовый класс я не смогу вызвать свой метод, который есть только в моем наследнике!
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724500
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЧерез ссылку на базовый класс я не смогу вызвать свой метод, который есть только в моем наследнике!полиморфизма тут нам еще не хватало.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724556
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVosttИ что? То, что ты его перекроешь своей реализацией означает, что через ссылку на базовый класс вызовут чужой метод, а прямые ссылки на твой класс твою, даже если ожидали чужую.

Через ссылку на базовый класс я не смогу вызвать свой метод, который есть только в моем наследнике!

Именно. Вообще, появление метода с такой же сигнатурой, как в твоём наследнике сигнализирует о том, что тебе придётся зарефакторить, так как путей выстрелить в ногу становится овер дофига.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724689
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ЕвгенийВCat2пропущено...

Зачем нужен интерфейс для базового класса?
Все его фичи можно и в базовом классе описать.
Например для ко/контр-вариантности.
Примерчик можно?
На классе "Животное", который мы все знаем
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39724755
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39729649
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно унаследовать только часть членов класса?

"При определении класса для наследования от другого класса производный класс явно получает все члены базового класса за исключением конструкторов и методов завершения. "

Суть: не могу сериализовать частично записи с помощью JsonConvert.SerializeObject() .
....а переделывать классы кажется неправильным.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39729662
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_ А можно унаследовать только часть членов класса?

"При определении класса для наследования от другого класса производный класс явно получает все члены базового класса за исключением конструкторов и методов завершения. "

Суть: не могу сериализовать частично записи с помощью JsonConvert.SerializeObject() .
....а переделывать классы кажется неправильным.

Решил по другому ( поменял int на Nullable<int>, все ненужные сделал null и указал сериализатору игнорировать null-поля : NullValueHandling = NullValueHandling.Ignore ).

Но вопрос с наследованием остался
.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39729704
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_,
Тему зачем подымать? Твой вопрос по сериализатору.
...
Рейтинг: 0 / 0
25 сообщений из 384, страница 14 из 16
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование и интерфейсы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]