Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 329 330 [331] 332 333 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#4951
,
|
|
|
|
Да, и в C++ на момент вызова тела конструктора объект почти готов - отработали конструкторы всех родительских объектов и полей данных.
|
|
Сообщ.
#4952
,
|
|
|
|
Цитата trainer @ Да, и в C++ на момент вызова тела конструктора объект почти готов |
|
Сообщ.
#4953
,
|
|
|
|
Deswer, я ведь просто могу воспользоваться своим административным ресурсом. Ради многих читателей этой темы можно пожертвовать одним тобой. Имей это в виду, когда троллишь. Считай это предупреждением.
Добавлено Цитата DesweR @ А в Delphi на момент вызова конструктора объект полностью готов? В очередной раз вопрос: зачем в Delphi конструкторы, что они конструируют, если объект полностью готов? Ключевое слово. |
|
Сообщ.
#4954
,
|
|
|
|
нет. польза наличия одного корня описана в TAPL, позже приведу цитату |
|
Сообщ.
#4955
,
|
|
|
|
Цитата korvin @ нет Да. Цитата korvin @ польза наличия одного корня описана в TAPL А тот недостаток, что она не нужна, там не описывается? ![]() Цитата korvin @ позже приведу цитату Я просто в предвкушении |
|
Сообщ.
#4956
,
|
|
|
|
Фабрики/фабричные методы гибче и нагляднее, тем более, что без них все-равно не обойтись в крупном проекте. Цитата - классовые методы/конструкторы/деструкторы Тут пожалуй, соглашусь, но это можно сделать, если захочется. Цитата - нормальное монолитное конструирование в принципе, т.е. на момент вызова конструкторов - класс де факто уже готов (а не доконструирование каждым производным классом) Класс в С++ тоже к этому времени уже готов. А если ты имел в виду объекты, то такое определение противоречит понятию конструктор. Так что в С++ тут все логично. Цитата - хотелось чтобы все классы порождались от единственного базового (конечно это идёт в разрез с "не использую не плачу"...) Зачем нужна космическая иерархия? Ведь она никак не связана с предметной областью, правда? В С++ есть void*, а так же библиотечные штуки, вроде boost::any, что позволяет хранить(и выполнять простейшие операции, вроде ввода-вывода) любые объекты. Цитата - ну и интерфейсы, хотя бы библиотекой стандартной. Чем не устраивают абстрактные классы? Добавлено В Delphi же должны быть вариантные типы, как в других паскалевских наследниках? Думаю, что над ними можно накрутить оберточки и сделать нормальные алгебр. типы, нет? Добавлено Цитата korvin @ польза наличия одного корня описана в TAPL, позже приведу цитату Насколько я помню(только листал) там несколько о другом... Впрочем, могу ошибаться, так что приводи обязательно |
|
Сообщ.
#4957
,
|
|
|
|
|
Сообщ.
#4958
,
|
|
|
|
Вот, значит я правильно помню, что там о другом. korvin, обрати внимание на предложение перед выделенным
Это именно наш случай. И ты хочешь сказать, что наличие класса Object это хорошо, потому, что он имеется в большинстве ОО языков программирования ?Ну и да, необходимым элементом он не является. А во многих ОО языках его наличие связано с присутствующими в этих языках ограничениями или просто с удобством использования. Но это не значит, что он нужен. В С++ тебе никто не мешает завести такой класс для своей системы |
|
Сообщ.
#4959
,
|
|
|
|
ну, во-первых, я специально выделил красным. именно это нас интересует, потому что
во-вторых, "не является необходимым" и "бред сивой кобылы" -- это несколько разные по смыслу высказывания. а в-третьих, "завести такой класс для своей системы" не то же самое, что и наличие типа Top/Object. |
|
Сообщ.
#4960
,
|
|
|
|
korvin, угу, аргументы прут из все щелей: это есть у всех и нам, академикам(!), так проще повествовать
|
|
Сообщ.
#4961
,
|
|
|
|
Цитата MyNameIsIgor @ korvin, угу, аргументы прут из все щелей: это есть у всех и нам, академикам(!), так проще повествовать ![]() т.е. ты не прочитал текст |
|
Сообщ.
#4962
,
|
|
|
|
Цитата korvin @ ну, во-первых, я специально выделил красным. именно это нас интересует. Нет, нас интересует не это. Ибо тип и класс это не взаимозаменяемые понятия в данном случае. Вернее класс - это тип, но тип - это не всегда класс. Речь идет о космической иерархии классов, которая не является ни следствием принципов ООП, ни средством моделирования предметной области. С другой стороны, в чистых ОО-языках(где все типы - классы), такой класс, в принципе, является логичным. Но не один из перечисленных в теме языков не является чистым ОО. Цитата а в-третьих "завести такой класс для своей системы" не то же самое, что и наличие типа Top/Object. Если ты не будешь отождествлять Top и Object, то это будет тоже самое(в рамках системы). Так, например, если я воспользуюсь библиотекой GObject и буду все свои "классы" создавать соответствующим образом, то буду иметь все тот же Object, хотя и без Top'а. Добавлено Цитата D_KEY @ о не один из перечисленных в теме языков не является чистым ОО. Шарп может претендовать на такое звание, но там странная штука в плане связи встроенных типов и структур с Object'ом. |
|
Сообщ.
#4963
,
|
|
|
|
Цитата korvin @ т.е. ты не прочитал текст Т.е. вы научились аргументации у авторов TAPL. |
|
Сообщ.
#4964
,
|
|
|
|
Цитата D_KEY @ Нет, нас интересует не это. Ибо тип и класс это не взаимозаменяемые понятия в данном случае. Вернее класс - это тип, но тип - это не всегда класс. ... Но не один из перечисленных в теме языков не является чистым ОО. ну не скажи, в жаве, хоть и есть примитивные типы int, boolean и т.д., но всем им соответствуют какие-то классы, т.е. система классов интегрирована в систему типов полностью, правда кривовато немного, но все же. кроме того в джаве нет другого способа образования типов, кроме классов (интерфейсы, перечисления там же тоже классы). в C# думаю ситуация похожая, разве нет? и тебе не кажется, что Цитата D_KEY @ Речь идет о космической иерархии классов, которая не является ни следствием принципов ООП, ни средством моделирования предметной области. и Цитата D_KEY @ С другой стороны, в чистых ОО-языках(где все типы - классы), такой класс, в принципе, является логичным. Но не один из перечисленных в теме языков не является чистым ОО. -- взаимоисключающие параграфы? |
|
Сообщ.
#4965
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата korvin @ т.е. ты не прочитал текст Т.е. вы научились аргументации у авторов TAPL. Хорошая книжка, зря ты так. Правда тяжеловата - сходу и между делом не прочитаешь(сужу по себе). Добавлено Цитата korvin @ и тебе не кажется, что Цитата D_KEY @ Речь идет о космической иерархии классов, которая не является ни следствием принципов ООП, ни средством моделирования предметной области. и Цитата D_KEY @ С другой стороны, в чистых ОО-языках(где все типы - классы), такой класс, в принципе, является логичным. Но не один из перечисленных в теме языков не является чистым ОО. -- взаимоисключающие параграфы? Нет, не кажется. Ибо относительная логичность наличия Object'а в чистых ОО-языках, связана не с ОО возможонстями и принципами, а с отсутствием других "видов типов". Цитата ну не скажи, в жаве, хоть и есть примитивные типы int, boolean и т.д., но всем им соответствуют какие-то классы Тем не менее, примитивные типы не являются классами. Если же мы принимаем такой подход, то в таком случае boost::any обеспечивает "Object" в С++ |