LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

Вот это и есть нарушение LSP, т.е. дичь.

Интерфейс может быть так спроектирован что часть методов базового класса у потомков априори невалидны и кидают исключение.

Вернее, если в описании интерфейса прямо сказано, что метод подкласса может бросать исключение, то это не нарушение LSP, т.к. подкласс по-прежнему удовлетворяет протоколу базового класса/интерфейса. Но в этом случае следующее замечание неуместно:

А дальше как рантайм повернется…

А если LSP нарушен, т.е. метод «пописать» в подклассе отрабатывает как «покакать», то это извините не ООП, а говно собачье. Т.е. говнокод, некорректно использующий ООП-фичи языка. А потом появляются приколы про игры, в которых овечки стреляют из РПГ, потому что в чью-то светлую голову пришла мысль отнаследовать их от бойцов, лишь бы быстрее доделать.

Исправление dimgel, :

Вот это и есть нарушение LSP, т.е. дичь.

Интерфейс может быть так спроектирован что часть методов базового класса у потомков априори невалидны и кидают исключение.

Вернее, если в описании интерфейса прямо сказано, что метод подкласса может бросать исключение, то это не нарушение LSP, т.к. подкласс по-прежнему удовлетворяет протоколу базового класса/интерфейса. Но в этом случае следующее замечание неуместно:

А дальше как рантайм повернется…

А если LSP нарушен, т.е. метод «пописать» в подклассе отрабатывает как «покакать», то это извините не ООП, а говно собачье. Т.е. говнокод, некорректно использующий ООП-фичи языка. А потом появляются приколы про игры, в которых овечки стреляют из РПГ, потому что в чью-то светлую голову пришла мысль отнаследовать их от бойцов.

Исправление dimgel, :

Вот это и есть нарушение LSP, т.е. дичь.

Интерфейс может быть так спроектирован что часть методов базового класса у потомков априори невалидны и кидают исключение.

Вернее, если в описании интерфейса прямо сказано, что метод подкласса может бросать исключение, то это не нарушение LSP, т.к. подкласс по-прежнему удовлетворяет протоколу базового класса/интерфейса. Но в этом случае следующее замечание неуместно:

А дальше как рантайм повернется…

А если LSP нарушен, т.е. метод «пописать» в подклассе отрабатывает как «покакать», то это извините не ООП, а говно собачье. Т.е. говнокод, некорректно использующий ООП-фичи языка.

Исправление dimgel, :

Вот это и есть нарушение LSP, т.е. дичь.

Интерфейс может быть так спроектирован что часть методов базового класса у потомков априори невалидны и кидают исключение.

Вернее, если в описании интерфейса прямо сказано, что метод подкласса может бросать исключение, то это не нарушение LSP, т.к. подкласс по-прежнему удовлетворяет протоколу базового класса/интерфейса. Но в этом случае следующее замечание неуместно:

А дальше как рантайм повернется…

Исходная версия dimgel, :

Вот это и есть нарушение LSP, т.е. дичь.