Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 13 ОтправитьПечать
Очень популярная тема (более 25 ответов) Полиморфизм ЗаменитьЭксзБазовогоКласса (число прочтений - 86063 )
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #90 - 31. Мая 2006 :: 15:03
Печать  
kms писал(а) 31. Мая 2006 :: 14:59:
Цель (для меня) в конечном итоге - обеспечение удобной разработки в небольших проектах и безопасного кода в крупных.

Подписываюсь под целью.
Только добавлю, что в крупных проектах удобство разработки так же немаловажно.
А еще от себя добавлю, что безопасность кода в крупном проекте лучше всего обеспечивают юниттесты.
  
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #91 - 31. Мая 2006 :: 15:13
Печать  
kms
Во завернул.
Вроде и ничего против не сказал. Но даже как-то неудобно стало. Улыбка
Буду изучать твою писанину.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #92 - 31. Мая 2006 :: 15:16
Печать  
А может быть вы ответите? Вопрос то был прямой, а не риторический.

sedmin писал(а) 31. Мая 2006 :: 14:45:
В чем разница в результате вызова Сам(Контекст) в модулях Документы_СБухИтогами и Документ_РКО?

  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #93 - 31. Мая 2006 :: 15:21
Печать  
kms писал(а) 31. Мая 2006 :: 14:59:
Мы можем приблизиться к классической схеме ООП и механизмы контроля мы можем обеспечить не хуже, чем в С++.
Правда, только на этапе выполнения.

Почему только на этапе выполнения? Из общения с разработчиками 1С++ я понял, что вполне реально сделать всякие вкусности на этапе компиляции.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #94 - 31. Мая 2006 :: 15:23
Печать  
Дайте подумать.

Мне начинает нравиться идея наследования служебных функций.
Я сейчас еще раз обдумаю насчет ЗаменитьБазовыйОбъект() и ТипЗначенияСтр().

Думаю, все же это все нормально будет вписываться в концепцию ООП.
Только меня сейчас очень сильно дергают, видимо вечером уже дома отвечу.

Не волнуйтесь, мы все сделаем красиво. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #95 - 31. Мая 2006 :: 15:24
Печать  
sedmin писал(а) 31. Мая 2006 :: 15:21:
kms писал(а) 31. Мая 2006 :: 14:59:
Мы можем приблизиться к классической схеме ООП и механизмы контроля мы можем обеспечить не хуже, чем в С++.
Правда, только на этапе выполнения.

Почему только на этапе выполнения? Из общения с разработчиками 1С++ я понял, что вполне реально сделать всякие вкусности на этапе компиляции.

Вот это не представляю себе, как. Делись.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #96 - 31. Мая 2006 :: 15:27
Печать  
kms писал(а) 31. Мая 2006 :: 15:23:
Дайте подумать.

Мне начинает нравиться идея наследования служебных функций.
Я сейчас еще раз обдумаю насчет ЗаменитьБазовыйОбъект() и ТипЗначенияСтр().

Думаю, все же это все нормально будет вписываться в концепцию ООП.

Ты подумай. Я тут попробовал сконструировать реальный пример, когда
Цитата:
"Переопределение" же ЗаменитьЗксзБазовогоКласса в корне изменит поведение суперкласса, если тот полагается на определенную работу ЗаменитьЭксзБазовогоКласса().

Такой изврат получился, что просто ой.
  
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #97 - 31. Мая 2006 :: 15:47
Печать  
kms писал(а) 31. Мая 2006 :: 15:24:
sedmin писал(а) 31. Мая 2006 :: 15:21:
Почему только на этапе выполнения? Из общения с разработчиками 1С++ я понял, что вполне реально сделать всякие вкусности на этапе компиляции.

Вот это не представляю себе, как. Делись.


Ничего хитрого тут нет. Сейчас же код 1С++ все равно отдельно от кода 1С компилируется. Так что навернуть там можно что угодно.

Надо только, чтобы VisualС++ в конфигураторе тот же синтаксис мог поддерживать. Сейчас это делается наилучшим из методов -  copy/paste. Но, я думаю, V1C++ мог бы и пользоваться услугами 1С++.
Представляете: V1C++ создает объект Addin.1C++ и вперед... на мины...
  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #98 - 31. Мая 2006 :: 17:34
Печать  
Мда... монументальная ветка Подмигивание

Из всего сказанного я так и не уловил предпосылок к использованию наследования. Недоумеваю, почему большинство одинэсников считают применение наследования чем-то само-собой разумеющимся, а применение агрегирования - требующим веского обоснования? Подмигивание 

Точнее, даже, так: я на 100% уверен, что наследование, в данном абстрактном случае, не понадобится. Почему? Ну... это длинная история. И совсем не интересная Подмигивание А интереснее было бы обсудить решение конкретной задачи (не забываем, что в семерке документ и его форма - не совсем одно и то-же).
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #99 - 31. Мая 2006 :: 17:47
Печать  
Цитата:
Такой изврат получился, что просто ой.

Забавно, а я как раз твою концепцию обдумываю. Улыбка

Палыч
Я рад. что ты с нами.
Видишь ли, как раз на конкретику-то и не тянет, хотя мы с нее начали Улыбка

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

В этом плане не вижу проблем, почему класс Документ_РКО не может быть подклассом класса Документ_СБИ.
Ведь реально это и есть частный случай документа с бух. итогами.

Ой, чую я, щас понесется по новой. Смех
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #100 - 31. Мая 2006 :: 18:15
Печать  
sedmin писал(а) 31. Мая 2006 :: 15:47:
Ничего хитрого тут нет. Сейчас же код 1С++ все равно отдельно от кода 1С компилируется. Так что навернуть там можно что угодно.

Надо только, чтобы VisualС++ в конфигураторе тот же синтаксис мог поддерживать. Сейчас это делается наилучшим из методов -  copy/paste. Но, я думаю, V1C++ мог бы и пользоваться услугами 1С++.
Представляете: V1C++ создает объект Addin.1C++ и вперед... на мины...


Понимаешь, я в этом предложении для себя вижу как минимум 1 юр. и 1 техническую проблему.
Ну и фактор времени, конечно.

В этом плане дополнить реализацию классов 1cpp концепциями абстрактных классов и чисто виртуальных функций, а также обеспечить нормальный уровень изоляции классов с контролем всего этого в момент инстанциирования объекта мне представляется на порядки более выполнимой задачей.
Т.е. именно так: реально выполнимой задачей.

А с конфигуратором - это хорошая идея, но на себя не возьму точно.

Цитата:
Буду изучать твою писанину.
...
А может быть вы ответите? Вопрос то был прямой, а не риторический.

Ну вот, блин, прочитал и перешел на вы. Не надо, давай будем без галстуков Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #101 - 31. Мая 2006 :: 18:24
Печать  
fez писал(а) 31. Мая 2006 :: 15:27:
Такой изврат получился, что просто ой.


Кстати, поделись с народом-то.
У тебя там ромбовидная иерархия получилась или еще что? Эту проблему надо обдумать.
Интересно, как у нас сейчас это решено?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #102 - 31. Мая 2006 :: 18:30
Печать  
kms писал(а) 31. Мая 2006 :: 18:15:
[Цитата:
Буду изучать твою писанину.
...
А может быть вы ответите? Вопрос то был прямой, а не риторический.

Ну вот, блин, прочитал и перешел на вы. Не надо, давай будем без галстуков Улыбка


Ну я же написал "вы" а не "Вы". Или ты тут один против всех?  Подмигивание

Ну вот. Снова ушел от ответа.   Печаль
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #103 - 31. Мая 2006 :: 18:41
Печать  
Не, я не против, я за. Подмигивание

Подожди чуть.
По тому вопросу, который ты поднял (о наследовании служебных. функций) будет решение.
Мне нужно сейчас полностью изучить детали реализации всего этого в 1cpp.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Полиморфизм ЗаменитьЭксзБазовогоКласса
Ответ #104 - 31. Мая 2006 :: 18:48
Печать  
При чем здесь наследование служебных функций? Вопрос звучит так:

Чем отличается результат вызова Сам(Контекст) при вызове из модуля родителя и из модуля наследника?

Это же ссылка на один и тот же объект. Или не так?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 13
ОтправитьПечать