powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Подскажите по наследованию
11 сообщений из 36, страница 2 из 2
Подскажите по наследованию
    #40027862
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Сокрытие может возникнуть случайно, если ты добавил метод к унаследованному классу, а потом производитель базового класса добавил метод с такой же сигнатурой. Тогда ты можешь добавить new чтобы подавить варнинг, но лучше по возможности отрефакторить свой метод.

А хороший производитель базового класса он бы с самого начала по заветам Рихтера сделал бы его sealed и всего этого вороха проблем не было бы в принципе
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40027864
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Shocker.Pro
Сокрытие может возникнуть случайно, если ты добавил метод к унаследованному классу, а потом производитель базового класса добавил метод с такой же сигнатурой. Тогда ты можешь добавить new чтобы подавить варнинг, но лучше по возможности отрефакторить свой метод.

А хороший производитель базового класса он бы с самого начала по заветам Рихтера сделал бы его sealed и всего этого вороха проблем не было бы в принципе

все не виртуальные надо sealed?
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40027872
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
все не виртуальные надо sealed?

Если метод abstract, то значит его специально сдизайнили и предусмотрели для его перегрузки. Если же ты перегружаешь метод, который уже и так имеет реализацию, то это повод подумать что в обсерватории что-то не так.
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40027888
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
все не виртуальные надо sealed?
не виртуальный, он и так sealed
fkthat
Если метод abstract, то значит его специально сдизайнили и предусмотрели для его перегрузки. Если же ты перегружаешь метод, который уже и так имеет реализацию, то это повод подумать что в обсерватории что-то не так.
следуя твоей же логике, если метод сделали виртуальным, значит предусмотрели его переопределение, ничего в этом страшного я не вижу. В абстрактном методе проблема в том, что ты ОБЯЗАН его перегрузить. Вот есть стандартный паттерн - виртуальный метод OnSomething без реализации. Их несколько десятков может быть в классе, ты просто берешь и оверрайдишь парочку нужных. А если бы они все были абстрактными?
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40027891
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче, разница между абстрактным и виртуальным - это разница между обязан и можешь.
А дурной подход Рихтера сделать весь класс sealed порождает то, что ты вынужден писать прокси класс (благо решарпер умеет их генерить), вместо того, чтобы просто унаследовать.
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40028109
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Если метод abstract, то значит его специально сдизайнили и предусмотрели для его перегрузки


Разрешите позанудствовать.

abstract/virtual к перегрузке никакого отношения не имеет. и полиморфизму в частности :)
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40028110
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
короче, разница между абстрактным и виртуальным - это разница между обязан и можешь.
А дурной подход Рихтера сделать весь класс sealed порождает то, что ты вынужден писать прокси класс (благо решарпер умеет их генерить), вместо того, чтобы просто унаследовать.


Истино так, дурной подход
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40028507
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
abstract/virtual к перегрузке никакого отношения не имеет. и полиморфизму в частности :)

Чо? Угораете?
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40028508
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это какая-то уже Оруэлвщина началась свобода-это-рабство а черное это белое, а virtual это не полиморфизм.
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40028524
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
abstract/virtual к перегрузке никакого отношения не имеет. и полиморфизму в частности :)

Чо? Угораете?


Ну вот те первый попавшийся букварь https://metanit.com/sharp/tutorial/3.5.php

Нужно понимать разницу между переопределением и перегрузкой :)
Я ж говорю, проблемы с семантикой -- корень всех зол.
...
Рейтинг: 0 / 0
Подскажите по наследованию
    #40028530
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Понимаю, что занудствую, но уж звиняйте ))
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Подскажите по наследованию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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