Здравствуйте, LaptevVV, Вы писали:
LVV>>>Принцип подстановки был и остается реализованным при открытом наследовании. МР>>Ну все таки можете привести цитату или статью подтверждающую, это? LVV>Какая вам цитата нужна, если в С++ принцип подстановки реализован?
А вы знаете что такое принцип подстановки Барбары Лисков? Может быть стоит ознакомиться?
LVV>>>>Принцип подстановки был и остается реализованным при открытом наследовании. МР>>>Ну все таки можете привести цитату или статью подтверждающую, это? LVV>>Какая вам цитата нужна, если в С++ принцип подстановки реализован? МР>А вы знаете что такое принцип подстановки Барбары Лисков? Может быть стоит ознакомиться?
Знакомьтесь.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>>Какая вам цитата нужна, если в С++ принцип подстановки реализован? V>Принцип подстановки Барбары Лисков про выполнение инвариантов контракта интерфейса, про пред и пост условия, а не про просто возможность подстановки наследника вместо родителя.
Таким образом, идея Лисков о «подтипе» даёт определение понятия замещения — если S является подтипом T, тогда объекты типа T в программе могут быть замещены объектами типа S без каких-либо изменений желательных свойств этой программы
Что в практическом программировании повсеместно и используется.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Таким образом, идея Лисков о «подтипе» даёт определение понятия замещения — если S является подтипом T, тогда объекты типа T в программе могут быть замещены объектами типа S
без каких-либо изменений желательных свойств этой программы
Таким образом, идея Лисков о «подтипе» даёт определение понятия замещения — если S является подтипом T, тогда объекты типа T в программе могут быть замещены объектами типа S
V>
без каких-либо изменений желательных свойств этой программы
V>
V>
Что такое: "желательные свойства программы"? Если, например, ромбы сделать подтипом эллипсов и заменить все эллипсы на ромбы — это будет изменением "желательных свойств программы" или нет?
Здравствуйте, B0FEE664, Вы писали:
BFE>Что такое: "желательные свойства программы"? Если, например, ромбы сделать подтипом эллипсов и заменить все эллипсы на ромбы — это будет изменением "желательных свойств программы" или нет?
У разработчика программы надо спросить В том же наследовании квадрата от прямоугольника ( и наоборот ) нет ранее описанной проблемы в случае, если в контракте нет методов изменяющих величины сторон
Здравствуйте, LaptevVV, Вы писали:
S>>как вы считаете чем С++ отличается от Си с классами LVV>Виртуальные функции. LVV>Си с классами не нуждается в виртуальных функциях — отдельные классы можно писать и без них.
Не как раз в C с классами виртуальные функции очень полезны.
Они позволяют удобно писать модули
Здравствуйте, sergey2b, Вы писали:
S>как вы считаете чем С++ отличаеться от Си с классами
В кратце: в с++ можно себе с комфортом, после грячей ванны, под чафечку кофэ и пластинку классической музыки, себе ноги прострелить. Причём пуля классически войдёт через ооп'у.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, LaptevVV, Вы писали:
LVV>Любой будильник (производный тип) является часами (базовый тип), но обратное — неверно. LVV>И это — РЕАЛИЗОВАНО в ЛЮБОМ языке.
Веселье в том, что будильник совершенно не обязан быть часами. Более того, он чаще всего является чем угодно, но не часами.
И вот на такой мелочи огромное число самодельных ООП архитектур конкретно так обделываются. Безотносительно языка программирования.
L>Веселье в том, что будильник совершенно не обязан быть часами. Более того, он чаще всего является чем угодно, но не часами. L>И вот на такой мелочи огромное число самодельных ООП архитектур конкретно так обделываются. Безотносительно языка программирования.
Можно и отдельно.
Зависит от задачи и предметной области.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Vain, Вы писали:
V>В кратце: в с++ можно себе с комфортом, после грячей ванны, под чафечку кофэ и пластинку классической музыки, себе ноги прострелить. Причём пуля классически войдёт через ооп'у.
Здравствуйте, LaptevVV, Вы писали:
L>>И вот на такой мелочи огромное число самодельных ООП архитектур конкретно так обделываются. Безотносительно языка программирования. LVV>Можно и отдельно. LVV>Зависит от задачи и предметной области.
На самом деле практически не зависит. Будильник применительно к программированию — это сигнал. Наследовать будильник от часов означает заранее налагать определенные ограничения и требования как на поставщика этого сигнала, так и на подписчика.
Только и всего.
Здравствуйте, YuriV, Вы писали:
V>>В кратце: в с++ можно себе с комфортом, после грячей ванны, под чафечку кофэ и пластинку классической музыки, себе ноги прострелить. Причём пуля классически войдёт через ооп'у. YV>Стэндапер?
Стендап прогер
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]