Персональная страница Федора Езеева | ||||||||||||||||||
|
ООП. Что такое инкапсуляция?Часто, при работе с компонентой "Бухгалтерский учет", в конфигурациях встречается конструкция Сч60_1 = СчетПоКоду("60.1")Все бы ничего, но ровно до того момента, когда не меняется план счетов. Это происходит не так часто, но на моем веку такое счастье произошло :). И одно из изменений в новом плане счетов - смена кода у счета для учета реализации с 46 на 90. Пересматривать всю конфигурацию на предмет кода 46 для замены на 90 не очень хочется. Даже несмотря на возможности глобального поиска текста в конфигурации - задача не из самых благодарных. Объектный подход предлагает решение для таких проблем, и имя этому решению - инкапсуляция. Суть счета не поменялась от смены его кода: он так и остался счетом для учета реализации. При грамотном использовании объектов - программист создаст объект "ПланСчетов", в котором будут определены методы СчетУчетаВыручки(), СчетУчетаТоваров(), СчетАвансовПоставщикам() и тому подобные. Для лучшего понимания ниже приведена реализация этих методов для нового ПС Функция СчетРеализации() Экспорт Возврат СчетПоКоду("90.1"); КонецФункции Функция СчетУчетаТоваров() Экспорт Возврат СчетПоКоду("41.1"); КонецФункции Функция СчетАвансовПоставщикам() Экспорт Возврат СчетПоКоду("60.2"); КонецФункцииТаким образом мы отделяем суть происходящего от деталей реализации. В тот момент, когда наша выручка начинает разделятся на облагаемую и необлагаемую ЕНВД - мы меняет код одного метода: Функция СчетРеализации() Экспорт Возврат СчетПоКоду("90.1.1"); КонецФункциии добавляем еще один: Функция СчетРеализацииЕНВД() Экспорт Возврат СчетПоКоду("90.1.2"); КонецФункции Подобное скрытие параметров (в нашем случае - коды счетов) за интерфейсами (методами с человеческими именами) и называется инкапсуляцией. | |||||||||||||||||
© 1998-2004 Fedor Ezeev. |