Модераторы: THandle, bems

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi умирает? 
:(
    Опции темы
Rohoss
Дата 15.6.2011, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Цитата(cemick @  15.6.2011,  16:32 Найти цитируемый пост)
Вот это к чему было сказано? Или вы думаете что в делфи все через ini файлы?

нет, не думаю. думаю, что в делфи рантайм никуда не годится. и думаю, раз никуда не годится рантайм то и сериализация никуда не годится. а раз никуда не годится сериализация - значит нет красивого способа хранить сложные типы в файлах/потоках. а если нет возможности легко хранить в файлах/потоках сложные типы - то с хранением настроек получим лишнюю головную боль и лишние телодвижения.


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
bems
Дата 15.6.2011, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



Цитата(Rohoss @  15.6.2011,  13:48 Найти цитируемый пост)
Именно, класса а не его наследника

дотнетчики не слышали что "унаследован значит является"?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
k0rvin
Дата 15.6.2011, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(bems @ 15.6.2011,  10:07)
Он может быть перекрыт и в В1 и в В2

так а чем тут поможет одиночное наследование (A -> B -> C)?

Это сообщение отредактировал(а) k0rvin - 15.6.2011, 19:53


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
bems
Дата 16.6.2011, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



в нем такая противоречивая ситуация невозможна в принципе.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
cemick
Дата 16.6.2011, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(Rohoss @  15.6.2011,  17:22 Найти цитируемый пост)
нет, не думаю. думаю, что в делфи рантайм никуда не годится. и думаю, раз никуда не годится рантайм то и сериализация никуда не годится. 

Что значит никуда не годится рантайм, что под этим подразумеваете? 
А на счет сериализации зря вы так думаете, хотя я в делфи практически не сталкивался с надобностью сериализации, но вроде как если имеем TPersistant и TComponent то проблем нет, плюс есть  DBXJSONReflect или TJvAppXMLFileStorage. Я думаю есть, кто на счет этого может больше сказать. Что касаться .NET, ну да, там более красиво это сделано, возможности атрибутов плюс продуманные готовые интерфейсы делают сериализацию проще и непринужденнее,  но вот со сложными типами тоже можно намучаться(что называется плавали, знаем). Хотя вот даже просто возможность скопировать поток в поток появилась только  в 4 фреймворке.
PM MAIL WWW   Вверх
k0rvin
Дата 16.6.2011, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(bems @ 16.6.2011,  10:22)
в нем такая противоречивая ситуация невозможна в принципе.

так, еще раз
Цитата

Например есть родитель А, потомки B1 и B2 и внучек С унаследованный и от B1 и от B2, и нужно вызвать метод объявленный в А на объекте С. Enjoy ur multiple inheritance

как одиночное наследование поможет вызвать метод, объявленный в A?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
bems
Дата 16.6.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 2
Всего: 88



k0rvin, или это я плохо объясняю, или не знаю даже...

В классе А объявлен виртуальный метод. Он или публичный, или вызывается из какого-то публичного метода. Он наследуется всеми потомками и может быть вызван как метод потомка - прямо если публичный или косвенно, если нет. Унаследуем от А классы В1 и В2, в каждом из которых метод перекрыт по своему. Можно вызывать B1.Method() или B2.Method() и получить разное поведение. 

При наличии множественного наследования, возможно унаследовать класс С от двух родителей B1 и B2. Поскольку А является предком С, то имея экземпляр С можно вызвать наш метод. Противоречие заключается в том, что не понятно какая реализация должна быть вызвана: из В1 или из В2  

При отсутствии множественного наследования С наследуется или от В1 или от В2, но не от обоих сразу, поэтому противоречия не возникает.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
k0rvin
Дата 16.6.2011, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



и компилятор укажет на это противоречие и потребует от программиста явно указать какой из методов должен использоваться в C. так в C++. так в Delphi при реализации классом двух интерфейсов с одинаковыми методами. а в CLOS, например, используется precedence-list, т.е. по-умолчанию в данном случае будет использоваться B1


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
cemick
Дата 16.6.2011, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(k0rvin @  16.6.2011,  18:02 Найти цитируемый пост)
и компилятор укажет на это противоречие и потребует от программиста явно указать какой из методов должен использоваться в C. так в C++. так в Delphi при реализации классом двух интерфейсов с одинаковыми методами. а в CLOS, например, используется precedence-list, т.е. по-умолчанию в данном случае будет использоваться B1 

Из вики я узнал что это называется проблемой ромба)) 
Вообще вот список проблем множественного наследования, из вики:
  • семантическая неопределенность часто совокупно представляется как Проблема ромба.
  • отсутствует возможность явного многократного наследования от одного класса
  • порядок наследования изменяет семантику класса
  • Множественное наследование в языках с конструкторами в стиле C++/Java усиливает проблему наследования конструкторов и последовательностей конструкторов, таким образом создавая проблемы с поддержкой и расширяемостью в этих языках. Объекты в отношениях наследования со значительно отличающимися методами конструирования довольно трудны для реализации в рамках парадигмы последовательности конструкторов.

И правильно в сад его, слишком много неопределенностей вносит

PM MAIL WWW   Вверх
Keeper89
Дата 16.6.2011, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: нет
Всего: 58



Тут холивар, а вы теории обсуждаете =)


--------------------
PM MAIL WWW   Вверх
k0rvin
Дата 16.6.2011, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(cemick @ 16.6.2011,  20:27)
Из вики я узнал что это называется проблемой ромба)) 
Вообще вот список проблем множественного наследования, из вики:

  • семантическая неопределенность часто совокупно представляется как Проблема ромба.
  • отсутствует возможность явного многократного наследования от одного класса
  • порядок наследования изменяет семантику класса
  • Множественное наследование в языках с конструкторами в стиле C++/Java усиливает проблему наследования конструкторов и последовательностей конструкторов, таким образом создавая проблемы с поддержкой и расширяемостью в этих языках. Объекты в отношениях наследования со значительно отличающимися методами конструирования довольно трудны для реализации в рамках парадигмы последовательности конструкторов.

И правильно в сад его, слишком много неопределенностей вносит

как хорошо, что CLOS лишена этих проблем =)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 16.6.2011, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



да нафиг нужно это множественное наследование
PM MAIL   Вверх
Keeper89
Дата 16.6.2011, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: нет
Всего: 58



Затем чтобы удобнее делать некоторые вещи, как с интерфейсами в Делфи.


--------------------
PM MAIL WWW   Вверх
Akella
Дата 19.6.2011, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



а ещё кроме обновлений самой винды, нужно тянуть сотни мегабайт обновлений дотнета, причем для разных версий.

Добавлено через 26 секунд
ну конечно... это уже ведь не забота программиста )))
PM MAIL   Вверх
Keeper89
Дата 19.6.2011, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: нет
Всего: 58



Akella, это такой вброс сейчас был? =)
Если есть инет, размер установщика крайне мал (меньше Мб), если же обычный - 48 Мб.
Я это все к тому, что не так уж и много ;)


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Форум группы: delphi | Следующая тема »


 




[ Время генерации скрипта: 0.1461 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.