Vermicious Knid wrote:
> Я как бы в курсе, хотя уже где-то год прошел с тех пор как я их
> последний раз применял(да и вообще C++).Действительно абстрактные классы
> есть, но ведь ограничений скажем так несколько больше чем в C#. Например
> в конструкторе Base::Base ты вызвать squaсk не сможешь. Плюс в C# можно
> объявить еще и абстрактное свойство, не только метод.
А в C# уже есть деструкторы?
В конструкторе я вызвать squack тоже могу при желании (хотя, хотя какой
в этом смысл)?
> Да и объективно говоря C++ даже исходя из синтаксиса объявления
> "абстрактных" классов не может претендовать на более высокий уровень
> поддержки этой возможности.
В чем оно кардинально от C# отличается? Или слово "abstract" делает язык
более высокоуровневым?
> C>2. Интерфейсы:
> Это фикция. Это те же абстрактные классы, а не интерфейсы(только не надо
> сюда приплетать множественное наследование). Те же самые ограничение
> плюс совершенно другая смысловая нагрузка. Для интерфейсов в нормальном
> языке существуют определенные правила, которые не должны нарушаться. В
> C++ это как всегда исключительно вопрос самодисциплины.
И что?
Я не вижу проблем с программированием на С++ в стиле C#/Java — куча
библиотек так работает (начиная с COM). C# будет "посахаристее", но
кардинально ничего не добавляет.
> Опять фикция. На этот раз еще большая. На практике в C++ такой подход
> никто не применяет. Если кто-то применяет, могу только посочувствовать.
Это значит, что просто никому особо не надо. Тем более, что в C#
свойства — это просто сахар над get-,set- функциями и не добавляет
ничего семантически нового.
Posted via RSDN NNTP Server 2.0