Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
hVosttPetro123hVostt, приди и скажи ему правду про оператор new. Он уже заждался). да чё тут говорить, вообще обсуждение использования перекрытия методов с помощью new является пустой тратой времени, так как это должно быть вне закона :)Если весь код твой, то да. А если ты унаследовался от чужого бинарника, в котором после обновления его версии появился одноименный метод, который уже существует в твоем наследнике, то либо терпеть предупреждения компилятора о перекрытии, либо подавить их через new. Либо отрефакторить код, изменив название своего метода, вызывая приступы анальных болей у тех, кто юзает в виде бинарника твой код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:31 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
skyANAAntonariyпропущено... Я вижу, что ты тупой, что ты замещаешь дурацкими фантазиями то, что понять не в состоянии, поэтому повторю: В стартовом посте речь идет о 1) интерфейсе iParentable 2) базовом классе, parentClass реализующем инетерфейс iParentable 3) наследнике subClass базового класса parentClass Содержимое всех этих сущностей произвольное. И так же задан вопрос: реализует ли класс subClass интерфейс iParentable . Если ответ "да", то задача состоит в следующем: показать c#-код реализации интерфейса iParentable в классе subClass с целью подтвердить этот ответ. Да нет, тупой ты. Наследника создают, чтобы изменить или расширить поведение базового класса. Либо создать конкретную реализацию, когда базовый класс абстрактный. В любом случае в наследнике будет некая конкретная логика, относящаяся к контракту, определённому интерфейсом.А я что, отказываю наследнику в этом? Ты не просто тупой, ты тупой клоун. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:37 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AntonariyskyANAпропущено... Да нет, тупой ты. Наследника создают, чтобы изменить или расширить поведение базового класса. Либо создать конкретную реализацию, когда базовый класс абстрактный. В любом случае в наследнике будет некая конкретная логика, относящаяся к контракту, определённому интерфейсом.А я что, отказываю наследнику в этом? Не отказываешь, но почему-то не считаешь это реализацией. А если считаешь, то тогда задаёшь тупые вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:40 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123AddxВ наследнике НЕ НУЖНО реализовывать методы, которые УЖЕ были реализованы в предкеда И остальное тоже верно. Че тогда спорил? авторЕсли ответ "да", то задача состоит в следующем: показать c#-код реализации интерфейса iParentable в классе subClass с целью подтвердить этот ответ. авторAntonariy, )) +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:46 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
skyANAAntonariyпропущено... А я что, отказываю наследнику в этом? Не отказываешь, но почему-то не считаешь это реализацией. А если считаешь, то тогда задаёшь тупые вопросы.Вот тебе умный вопрос: до каких пор ты будешь свои сопли по клавиатуре размазывать? Изначально шла речь о реализации конкретного интерфейса в конкретном классе, имеющего конкретного наследника. И пусть этот наследник хоть 100500 собственных методов имеет - тот конкретный интерфейс в нем не реализован, хоть ты захлебнись своими соплями, он реализован в базовом классе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:47 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Модератор: skyANA, Antonariy - МСУ мы вроде сегодня не приглашали, поэтому не надо готовиться к его визиту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:52 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AntonariyИзначально шла речь о реализации конкретного интерфейса в конкретном классе, имеющего конкретного наследника. И пусть этот наследник хоть 100500 собственных методов имеет - тот конкретный интерфейс в нем не реализован, хоть ты захлебнись своими соплями, он реализован в базовом классе. А покажи реального такого наследника, что используется на практике, а не сферического со 100500 методами, что никак не влияют на реализацию контракта интерфейса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:56 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AntonariyПереводя этот поток сознания на чоткий базар ООП-понятий: subClass не реализует iParentable, он наследует реализацию . То есть правильный ответ - НЕТ. Я вижу непонимание смысла терминов ООП. Хер от пальца отличаем, а их названия - путаем. В ООП нет базаров. "Реализует" и "я написал" ничего общего между собой не имеют. subClass реализует интерфейс. Точка. Мне, как пользователю класса, все равно, где и кто там написал код. Меня вообще не интересует иерархия наследования. Меня интересует, реализует ли конкретный класс (subClass) интерфейс или нет. В этом смысл ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 16:59 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Addx, Там в вопросе намешано куча всего. Когда по коду, то все просто: 1. New лишний. Вместо него надо все методы виртуальными как в жабе 2. Интерфейс сбоку стоит в иерархии и реализуется только там где прописан. Приведение автоматом. 3. При совпадании метода студия предупредит что перекрываем. Что еще надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:00 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxМеня вообще не интересует иерархия наследования. Меня интересует, реализует ли конкретный класс (subClass) интерфейс или нет. В этом смысл ООП. Хорошо сказал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:01 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Antonariyон реализован в базовом классе.+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:07 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Petro123Addx, Там в вопросе намешано куча всего. Когда по коду, то все просто: 1. New лишний. Вместо него надо все методы виртуальными как в жабе 2. Интерфейс сбоку стоит в иерархии и реализуется только там где прописан. Приведение автоматом. 3. При совпадании метода студия предупредит что перекрываем. Что еще надо? 1. Есть virtual и override. Ничего общего с new они не имеют. Абсолютно. В C# есть виртуальные методы и есть невиртуальные. Невиртуальный метод сделать в наследнике виртуальным нельзя. Так работает .net. Это базовые принципы. Возможно, это может не понравиться, но тут либо смириться, либо не писать на C#. 2. Да. Не всегда. 3. Да. Я вижу, что Вам не нравится new, но спорить не буду. Лишь поясню свое мнение. Для меня предупреждения студии вообще не аргумент. Если программист Петя проигнорировал предупреждение, то при сборке проекта я ничего не пойму. И на ревью я буду заморачиваться - так надо было, или он затупил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:22 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxЯ вижу, что Вам не нравится new, но спорить не буду. Лишь поясню свое мнение. Для меня предупреждения студии вообще не аргумент. Если программист Петя проигнорировал предупреждение, то при сборке проекта я ничего не пойму. И на ревью я буду заморачиваться - так надо было, или он затупил?Поэтому должна быть ошибка, а не предупреждение - тут я с Хвостом согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:24 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Вроде это можно даже прагмой настроить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:25 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомAddxМеня вообще не интересует иерархия наследования. Меня интересует, реализует ли конкретный класс (subClass) интерфейс или нет. В этом смысл ООП. Хорошо сказал! И да, реализует. Поскольку внутренняя кухня от меня скрыта, я спокойно им (интерфейсом) пользуюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:25 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Addx, Дык я мирюсь и пишу). Вернее я Не пишу new. Это разрешено? А ты сам то пишешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:27 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProВроде это можно даже прагмой настроитьименно. И даже лампочкой волшебной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:27 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxАгнец за бортомпропущено... Хорошо сказал! И да, реализует. Поскольку внутренняя кухня от меня скрыта, я спокойно им (интерфейсом) пользуюсь. Тогда почему код на скриншоте ведёт себя так, как ведёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:28 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомТогда почему код на скриншоте ведёт себя так, как ведёт?ты все время пытаешься одновременно выставлять себя и изготовителем этого класса и его потребителем. Но за функционал класса отвечает изготовитель. Поэтому изготовитель решает - перекрыть метод и явно реализовать интерфейс или перекрыть метод, но дать возможность пользователям интерфейса вызывать базовую релизацию. То есть именно класс отвечает за свой функционал, а никак не потребитель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:32 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Я думаю ему давно все понятно. У него с новеньким терки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:38 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxМеня интересует, реализует ли конкретный класс (subClass) интерфейс или нет. В этом смысл ООП. Конкретная реализация наследования в определенном языке программирования, ещё не есть весь смысл ООП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:39 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Агнец за бортомAddxпропущено... И да, реализует. Поскольку внутренняя кухня от меня скрыта, я спокойно им (интерфейсом) пользуюсь. Тогда почему код на скриншоте ведёт себя так, как ведёт? Потому что он так и должен себя вести! Я пишу точные формулировки, а в ответ получаю демагогию. Ладно. MSDNIf 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. Выделил ключевые моменты. Могу перевести или дополнить, если что-то непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:40 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
Shocker.Proты все время пытаешься Бррр... Уважаемый Addx занял недвусмысленную позицию. Причём тут изготовители? Есть класс, есть интерфейс, есть код с поведением. Я солидарен с Antoniary. Не реализует. Четкий ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:40 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
AddxАгнец за бортомпропущено... Тогда почему код на скриншоте ведёт себя так, как ведёт? Потому что он так и должен себя вести! Я пишу точные формулировки, а в ответ получаю демагогию. Ладно. MSDNIf 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. Выделил ключевые моменты. Могу перевести или дополнить, если что-то непонятно. Наследует реализацию и реализует - одно и тоже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:43 |
|
||
|
Наследование и интерфейсы.
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВAddxМеня интересует, реализует ли конкретный класс (subClass) интерфейс или нет. В этом смысл ООП. Конкретная реализация наследования в определенном языке программирования, ещё не есть весь смысл ООП Сокрытие реализации - базовый принцип. Как именно реализовано - зависит от языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2018, 17:43 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=39722350&tid=1398780]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 159ms |

| 0 / 0 |
