Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Пустой виртуальный метод вместо интерфейса

09.10.24 10:02
Re: Пустой виртуальный метод вместо интерфейса
 
alex445 патриот
но если я хочу ограничить действия некоторых из них в пределах одной иерархии классов?

Сформулируй проблему поточнее.

Защищённые и приватные ограничители создают ограничения в пределах одной иерархии классов. Но тогда интерфейсы использовать нельзя, т.к. они могут действовать на разные иерархии. Остаются лишь абстрактные классы, как возможность ЗАСТАВИТЬ имплементировать или перегрузить какой-то метод. А с таким ограничением возникают проблемы с моками для тестов.


Для мок-объекта подойдет все, где можно (нужно) перегружать фукнкции или проперти. Т.е. абстрактые и проперти также можно использовать в мок-объектах.
...
DoSomethingElse и Sleep ты сможешь заменить, а вот с DoSomething ты ничего не сделаешь.

Вот я и говорю - ограничения и проблемы. В интерфейсе можно заменить всё.

 

Перейти на