Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВТ. е. у тебя есть такая "маленькая" библиотечка, в которой как минимум на каждый класс и структуру из стандартной библиотеки .NET по декоратору и адаптору?А ты обычно занимаешься наследованием всех классов NET? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 17:06 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProЕвгенийВТ. е. у тебя есть такая "маленькая" библиотечка, в которой как минимум на каждый класс и структуру из стандартной библиотеки .NET по декоратору и адаптору?А ты обычно занимаешься наследованием всех классов NET? Если это необходимо. Если писать провайдер для entity framework core или писать кастомную реализацию asp net identity core, то там наследования - мама не горюй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 17:13 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВв которой как минимум на каждый класс и структуру из стандартной библиотекиЕвгенийВЕсли это необходимо.Так ты определись, на каждый или нет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 17:30 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВДизайнеры языка решили, что это меньшее из зол. С этим надо жить. Не, ну погоди. Дизайнеры языка не боги и тоже совершают ошибки. Понятное дело, что для обратной совместимости так просто баги не поправить. Но это не означает, что надо использовать всё, что предоставляет язык, в том числе откровенно плохие, не эффективные и вредные решения. Перекрытие метода -- одно из таких решений. И лично я видел только одно сомнительно оправданное применение -- кодогенерация. То, о чём идёт тред, не оправдано. Какие-то чужие либы, основанные на них мои либы, которые тоже для кого-то чужие. Это какой-то ппц, придумать можно любую ситуацию вплоть до того: а что ты будешь делать, если завтра пойдёт дождь из кирпичей, а у тебя кончилось молоко, а??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 18:06 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVosttНу обычно это решается адаптерами и декораторами. Это известные способы решения проблем совместимости с чужими библиотеками и их изменениями. Т. е. у тебя есть такая "маленькая" библиотечка, в которой как минимум на каждый класс и структуру из стандартной библиотеки .NET по декоратору и адаптору? Зачем? Есть определённые ситуации, когда это нужно. Описаны в литературе, опытный разработчик в состоянии понять когда и что используется. Также опытный разработчик не допускает таких тупых ситуаций. А кода они всё-таки возникают, то рефакторит. Разработка это живой процесс, а не забетонированный. Не надо рассказывать про какую-то чужую библиотеку, которая закрыта за семью печатями, а на неё завязано +100500 реализаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 18:10 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVosttпропущено... Я же привёл в этой ветке пример с классом Stream. Почитай плз и задай ещё раз вопрос. Дай ссылку. 21714398 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 18:11 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
hVosttа что ты будешь делать, если завтра пойдёт дождь из кирпичей, а у тебя кончилось молоко, а???+1 Кто не понял этот топик предлагаю придумать новый отмаз для new. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 18:42 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Меня все время занимает вопрос. А зачем нужны такие сложные наследования? Хотелось бы увидеть пример на реальных проблемах. Наверное у меня настолько сложных задач не возникает или я их решаю более простыми средствами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 19:44 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Cat2такие сложные наследования Какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 19:48 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомCat2такие сложные наследования Какие? Зачем нужен интерфейс для базового класса? Все его фичи можно и в базовом классе описать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 19:58 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Cat2Агнец за бортомпропущено... Какие? Зачем нужен интерфейс для базового класса? Все его фичи можно и в базовом классе описать. Интерфейс - это обещание реализации. Зачастую, вариантов этих реализаций - несколько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 20:03 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомCat2пропущено... Зачем нужен интерфейс для базового класса? Все его фичи можно и в базовом классе описать. Интерфейс - это обещание реализации. Зачастую, вариантов этих реализаций - несколько. В базовом классе несколько вариантов реализации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 20:08 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Cat2Зачем нужен интерфейс для базового класса? А, ну я не знаю. У меня нет "базового" класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 20:46 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Cat2Агнец за бортомпропущено... Какие? Зачем нужен интерфейс для базового класса? Все его фичи можно и в базовом классе описать. Например для ко/контр-вариантности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 12:24 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
hVosttЕвгенийВпропущено... Дай ссылку. 21714398 Это не совсем то, вернее совсем не то. hVosttТак почему бы не добавить свой метод MySuperCopyTo и не ипать никому мозг? Просто не понимаю. А если после того, как ты добавишь MySuperCopyTo, метод с таким именем появится в .NET Framework 100500 версии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 12:28 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВкак ты добавишь MySuperCopyTo, метод с таким именем появится в .NET Framework 100500 версии?а нужен? Это же твой метод для твоего наследника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 12:53 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВА если после того, как ты добавишь MySuperCopyTo, метод с таким именем появится в .NET Framework 100500 версии? И что? То, что ты его перекроешь своей реализацией означает, что через ссылку на базовый класс вызовут чужой метод, а прямые ссылки на твой класс твою, даже если ожидали чужую. Т.е. это примерно как прикрыть какашку газеткой. Решение -- огонь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 13:54 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
hVostt И что? То, что ты его перекроешь своей реализацией означает, что через ссылку на базовый класс вызовут чужой метод, а прямые ссылки на твой класс твою, даже если ожидали чужую. Через ссылку на базовый класс я не смогу вызвать свой метод, который есть только в моем наследнике! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 14:17 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВЧерез ссылку на базовый класс я не смогу вызвать свой метод, который есть только в моем наследнике!полиморфизма тут нам еще не хватало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 14:20 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVosttИ что? То, что ты его перекроешь своей реализацией означает, что через ссылку на базовый класс вызовут чужой метод, а прямые ссылки на твой класс твою, даже если ожидали чужую. Через ссылку на базовый класс я не смогу вызвать свой метод, который есть только в моем наследнике! Именно. Вообще, появление метода с такой же сигнатурой, как в твоём наследнике сигнализирует о том, что тебе придётся зарефакторить, так как путей выстрелить в ногу становится овер дофига. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 15:12 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВCat2пропущено... Зачем нужен интерфейс для базового класса? Все его фичи можно и в базовом классе описать. Например для ко/контр-вариантности. Примерчик можно? На классе "Животное", который мы все знаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2018, 18:54 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Cat2Примерчик можно? https://www.google.com/search?q=c# covariance example -> https://stackoverflow.com/questions/2662369/covariance-and-contravariance-real-world-example ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2018, 06:25 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
А можно унаследовать только часть членов класса? "При определении класса для наследования от другого класса производный класс явно получает все члены базового класса за исключением конструкторов и методов завершения. " Суть: не могу сериализовать частично записи с помощью JsonConvert.SerializeObject() . ....а переделывать классы кажется неправильным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 23:48 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
SIMPLicity_ А можно унаследовать только часть членов класса? "При определении класса для наследования от другого класса производный класс явно получает все члены базового класса за исключением конструкторов и методов завершения. " Суть: не могу сериализовать частично записи с помощью JsonConvert.SerializeObject() . ....а переделывать классы кажется неправильным. Решил по другому ( поменял int на Nullable<int>, все ненужные сделал null и указал сериализатору игнорировать null-поля : NullValueHandling = NullValueHandling.Ignore ). Но вопрос с наследованием остался . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 00:53 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=39724477&tid=1398780]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 163ms |

| 0 / 0 |
