AXForum  
Вернуться   AXForum > Рынок > Сравнение ERP-систем
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.12.2010, 11:00   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,292 / 3514 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от kuntashov Посмотреть сообщение
Как часто приходится применять на практике наследование и полиморфизм? Приведете примеры?
Ээээ для АХ (в частности) без этого также нельзя жить, как в 1С без написания хоть каких-нибудь процедур/функций
Цитата:
Полиморфи́змязыках программирования) — возможность объектов с одинаковой спецификацией иметь различную реализацию.
...
Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода.
Полиморфизм, как и наследование - позволяет чаще повторно использовать уже написанный код.
Цитата:
Насле́дование — позволяет описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
Пример. В АХ журналы документов делятся на журналы складских документов и журналы финансовых документов. В свою очередь - журналы складских (равно как и финансовых документов делятся по типу документа. Для склада - это приход / списание / спецификация / инвентаризация и т.д. Для финансов - это клиентские / поставщиковые платежи, журналы для операций с ОСами и т.д.

У всех журналов есть общие свойства. Ну, к примеру, все журналы имеют по фильтр журналов Все/Открыто/Разнесено, который по умолчанию устанавливается в Открыто. Соответственно - этот код лежит в самом родительском классе.
Для финансовых журналов есть "валютные поля" - валюта, курс и т.д. Функционал, обслуживающий эти поля - может быть вынесен в класс, управляющий всеми финансовыми журналами.
Для складских журналов есть складская аналитика - соответственно обслуживание этих полей - также находится в классе, управляющем всеми складскими журналами.
Ну и дальше - у каждого документа естественно есть свои нюансы, которые реализуются индивидуальным наследником.

Другой пример. Работа с Excel. Для разных версий Excel (конкретно для 2000, XP и 2007) есть свои классы-наследники, про которых программист может и не знать, однако вызывает он методы общего родительского класса, а там уже на уровне конструирования класса - система сама, в зависимости от версии инициализирует нужного наследника. Без этого было бы неприятно узнать, что код, который работал в 2003-м офисе перестал работать в 2007-м (к примеру).

Конечно - никто не говорит, что без этого нельзя обойтись. Всегда можно создать большой метод (процедуру в 1С) и внутри нее делать кучу if нв предмет - версии, на предмет типа журналов и т.д. Но речь-то идет и максимальном использовании уже написанного кода и (как следствие) уменьшение количества кода в котором нужно разбираться. Собственно для этого и нужны ООП-принципы
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 19.12.2010 в 11:06.
За это сообщение автора поблагодарили: driller (2).
Теги
сравнение систем

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сравнение Dynamics 1С CRM по цене Dekan Сравнение ERP-систем 25 21.12.2010 15:23
1С: Франчайзи - есть ли будущее? miklenew Другие системы на рынке 13 03.10.2009 12:22
Сравнение 1С"Зарплата и Кадры" с модулем Axapta "Расчеты с персоналом" Ленок Сравнение ERP-систем 46 28.05.2008 15:28
Обсуждение документа "Сравнение 1С и AX" Кузнецов Александр Сравнение ERP-систем 44 20.02.2008 13:56
Очередное сравнение ERP komar Сравнение ERP-систем 9 27.05.2005 14:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:06.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.