Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомПросто эксперимент.))) молодца)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:07 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, Только про DI не надо. Издеваешься? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:12 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123Агнец за бортом, Только про DI не надо. Издеваешься? А в чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:13 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123ОК. В сложных я срываю стоп кран и еду на ободах до шиномонтажа. Тяжелая у Вас работа. У нас разработчикам такого делать не приходится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:16 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, Инжекцию мы не обсуждали. И дело не в ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:16 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxPetro123ОК. В сложных я срываю стоп кран и еду на ободах до шиномонтажа. Тяжелая у Вас работа. У нас разработчикам такого делать не приходится.new тоже самое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:17 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123Агнец за бортом, Инжекцию мы не обсуждали. И дело не в ней. Какая разница? Этот паттерн ближе всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:17 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомPetro123Агнец за бортом, Инжекцию мы не обсуждали. И дело не в ней. Какая разница? Этот паттерн ближе всего.ближе всего у меня топор. Но я тяну руку дальше к миске для кошки чтобы ее покормить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:20 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом... Окей. Так вот - лично мне не нравится ... . Вот с этого и нужно было начинать. А не с безосновательных утверждений. Тогда бы спокойно обсудили, что и почему Вам не нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:20 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxВот с этого и нужно было начинать. Так как бы об этом всю ветку и речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:21 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
А тот момент, что любое обсуждение уходит в срач в полемическом задоре - сами видите, публика-с... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:24 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, Весь вопрос ветки в том что нужны default virtual методы. Остальное от java не отличается. Я бы не против..... и обсуждать тут больше нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 19:44 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxМеня интересует, реализует ли конкретный класс (subClass) интерфейс или нет. В этом смысл ООП.То есть понимать разницу между "реализует" и "наследует реализацию" ты отказываешься. AddxМне, как пользователю классаВерно, ты не программист, ты пользователь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 22:12 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
skyANAAntonariyИзначально шла речь о реализации конкретного интерфейса в конкретном классе, имеющего конкретного наследника. И пусть этот наследник хоть 100500 собственных методов имеет - тот конкретный интерфейс в нем не реализован, хоть ты захлебнись своими соплями, он реализован в базовом классе. А покажи реального такого наследника, что используется на практике, а не сферического со 100500 методами, что никак не влияют на реализацию контракта интерфейса.покажи хотя бы пару слов, объединенным общим смыслом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 22:42 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AntonariyЕсли весь код твой, то да. А если ты унаследовался от чужого бинарника, в котором после обновления его версии появился одноименный метод, который уже существует в твоем наследнике, то либо терпеть предупреждения компилятора о перекрытии, либо подавить их через new. Либо отрефакторить код, изменив название своего метода, вызывая приступы анальных болей у тех, кто юзает в виде бинарника твой код. Вот тут я не понимаю. Переопределение virtual метода имеет смысл, так как ты можешь передать известный тип в чужой бинарник со своей реализацией. А перекрытие метода через new никуда передать нельзя, чужому бинарнику какбы нас...ть на твоё перекрытие. Соответственно, ты можешь выбрать любое другое имя для нового метода, чё ты прицепился к переопределению? На кой хрен? Что тебе это даст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 01:29 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
hVosttСоответственно, ты можешь выбрать любое другое имя для нового метода, чё ты прицепился к переопределению? *к перекрытию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 01:31 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Antonariy, Вот давай посмотрим, есть такой класс Stream , он используется внутри фреймворка и во многих библиотеках. И вот, тебе захотелось переопределить метод CopyTo , который ни разу не виртуальный. Ты такой делаешь свою реализацию new CopyTo(...), и что получаешь? Ничего. Передашь инстанс своего класса-наследника с перекрытием, и никто не вызовет твой метод. Так почему бы не добавить свой метод MySuperCopyTo и не ипать никому мозг? Просто не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 01:39 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123в коде пробовал? 1. Я смысла не вижу. 2. Интерфейс становится не публичным. Нет под рукой студии. Завтра. Выше уже говорилось, что применение EIMI требует отдельных обоснований. Поскольку у него куча своих нюансов. Допустим, нужно протянуть цепочку наследования EIMI-метода в унаследованный класс: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. - не выйдет (как и public virtual ISpeak...). Ок, в наследнике тоже сделаем EIMI, но с одной оговоркой - в нем надо сначала вызвать EIMI-метод базового класса (стандартная, в общем, штука при реализации переопределенных virtual-методов). Обычный вызов base.SayWord вызовет реализацию SayWord в Bar, а вот такое Код: c# 1. 2. 3. 4. 5. 6. 7. 8. тоже не прокатит. Наконец, при необходимости обратиться к EIMI-методу внутри класса, в котором он объявлен, придется постоянно кастовать this к соотв. интерфейсу. А если имеет место быть одновременное наследование интерфейса, и EIMI методов того же интерфейса, то стоит один раз забыть привести тип this - и долгое вылавливание багов и неочевидного поведения гарантировано. Это не говоря о том, что, как и в случае с перекрытием метода, результат вызова метода, одноименного с EIMI, будет зависить от объявленного типа экземпляра, на котором делается вызов. Агнец за бортомКак в анекдоте - "понять это невозможно, это надо запомнить". Некоторым людям, имеющим желание разобраться в вопросе, помогает чтение документации. Агнец за бортомПочему в JAVA я могу Потому что ява - другой язык. Ваш К.О. Если интересует, почему разработчики C# решили сделать иначе - пишите в Редмонд. Агнец за бортомА в шарпе я сделаю РОВНО тоже самое, мне компилятор скажет про new keyword, всё скомпилится - но в рантайме - всё пойдёт по звезде. Потому что перекрытие не равно переопределению. Потому что если делается перекрытие, нужно представлять себе, чем это чревато. Потому что если делаешь что-то, и не понимаешь, что делаешь, то ССЗБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 07:16 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловны, Насколько вас понял, а вы все таки профи, в данном топике не следует уповать на: "в каждом наследнике продублирую интерфейс". ТС сказал что это у него эксперимент)). Ну и пусть забавляется. Я так не делаю и не пишу. В дельфях насколько знаю, нет такого. Имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 07:39 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортоммне компилятор скажет про new keyword, всё скомпилится - но в рантайме - всё пойдёт по звезде.ну дак ты среагировал по другому. У меня сразу появились претензии к оператору , а у тебя почему то глобальные претензии на 11 страниц. Не трать энергию понапрасну) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 07:44 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, Ты кстати хотел хакнуть класс без виртуального метода. В курсе почему намедни ракета упала? При сборке боковая ступень не входила в замок-шип. И тогда сборщик загнал её силой. Молотком или чем ещё)). Дак вот когда ты в наследнике написал метод и имя совпало, студия тебя предупредила про конфликт. Но ты взял кувалду new и вогнал таки метод на место)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 07:51 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AntonariyskyANAпропущено... А покажи реального такого наследника, что используется на практике, а не сферического со 100500 методами, что никак не влияют на реализацию контракта интерфейса.покажи хотя бы пару слов, объединенным общим смыслом. Слив засчитан. Вот тебе пара слов, объединенных общим смыслом. Улавливаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 08:51 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123а у тебя почему то глобальные претензии на 11 страниц. Я все свои выводы сделал на 4-ой странице. 2 Сон Веры Павловны Слушай, зачем ты повторяешь одно и то же из страницы в страницу? Знаешь, чего это признак? Я веду речь о другом. Тот факт, что класс реализует интерфейс и непосредственно реализует этот интерфейсах в своих методах - не даёт однозначной гарантии, что будучи приведённым к типу интерфейса - будут вызваны именно его методы. Вот имея на входе только эту информацию - нельзя сделать однозначный вывод об использовании. Мне это кажется неоднозначным и неудобным. ВСЁ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 09:08 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
MSDNclass can provide an implementation of an interface only one time and only if the class declares the interface as part of the definition of the class (class ClassName : InterfaceName). If the interface is inherited because you inherited a base class that implements the interface, the base class provides the implementation of the members of the interface. Формально вы правы. Но лишь формально. Это всё равно что вываливать сюда простыни IL-кода, и апеллировать к ним. Мне интересно, почему вы не включили в цитату следующую прямо за ней фразу MSDNHowever, the derived class can reimplement the interface members instead of using the inherited implementation. Формально да - реализует. Фактически - встаёт вопрос - как реализует. Наследуя реализацию от базового или ре-имплементируя интерфейс у себя. Самое простое - отказаться от new в принципе, и больше не забивать себе голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 09:17 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AntonariyAddxМне, как пользователю классаВерно, ты не программист, ты пользователь. [/quot] Увы, все наоборот. Программист при словах "пользователь класса" и "клиент" представляет вовсе не бабушку за клавиатурой или скучающего дядю в кафешке. Разумеется, смысл моих постов при этом от Вас ускользает. Жаль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2018, 09:37 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=39722453&tid=1398780]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 431ms |

| 0 / 0 |
