Объектно-ориентированное программирование (ООП), как методология или парадигма, в 1С отсутствует. И не похоже, чтобы в ближайшем будущем оно появилась. Однако со стороны сообщества не прекращаются попытки привнести в процесс разработки некоторые его элементы и подходы. Предлагаю вашему вниманию свой вариант эмуляции ООП. Основной упор в статье сделан на обеспечение наследования и полиморфизма (вызов методов, определенных в классах-потомках, из методов классов-предков и наоборот).
Если хочется ООП с наследованием и полиморфизмом...
Если хочется функционального программирования с функциями высшего порядка и map, filter, reduce...
Если хочется низко-низкоуровневого программирования с битами и байтами...
Ответ, по-моему, один: переходите на другие языки. Наша 1С - она особа весьма специфичная и неприхотливая. Это как девушка, которая выросла и работает в деревне. Её не нужны цветы, конфеты и прочий синтаксический сахар, у неё любимый шрифт - это древний и уродливый Courier New. Но вот крепким хозяйственникам она очень нравится: она многого не требует, кучу денег не забирает, косметикой не балуется, но и трактор заведёт, и поле вспашет, и скотину не потеряет. Правда, и в своё хозяйство не пускает кого попало. Словом, молодец девка, но на любителя. А тем, кто любит вот эти все шуры-муры, красоту и цветочки - нужно к столичным барышням обращаться.
А на 1С натягивать ООП, низкоуровневое и функциональное программирование - это всё равно что сельской девушке дать Mercedes Benz или Lamborghini. Ради шутки можно, но ей это в хозяйстве не нужно. Даже если её посадить за Lamborgini, она будет на свой трактор оглядываться - так воспитана...
(2)Я ведь не зря вставил такую картинку в статью - у кого-то ностальгия, вызванная импринтингом, кто-то прочитал "Java за две недели", а кто-то хочет чистый код по Мартину. В этом нет ничего плохого - поиграться и вернуться к крепкому хозяйству.
Согласен, что полноценного ООП сейчас внедрять не нужно в 1С (возможно в отдаленном будущем). Но наследование и полиморфизм кто бы что не говорил - очень крутая штука (в тему про абстрактные объекты, формы и пр.). Самого посещают мысли сделать (пусть и ограниченно) наследование и полиморфизм, скажем, в виде плагина на ЕДТ. Но пока интересной мысли не пришло в голову как это в текущей парадигме 1С реализовать.
(5)Наследование и полиморфизм в первую очередь требуется для сокращения объема кода при описании схожего функционала для разных сущностей. Для решения большинства задач 1С (не для всех) можно выделить общий код в отдельный метод и оставаться в рамках процедурного подхода. С формами, не с кодом, - да, не помешало бы.
У меня 20+ лет в 1С из них примерно 10 во франче и я не могу привести практических примеров, когда бы мы такие сели и задумались "даа... а вот был бы у нас полиморфизм..."
Я пришёл после Borland C++ Builder, где ООП вполне было и оно там было востребовано. Здесь же это в принципе не надо, здесь Предметно-Ориентированное Программирование.
(7)Я с Вами согласен, но найдется и много несогласных: "Нуралиев! Дай нам ООП!. Почему 1С не развивается? Там даже ООП нету! ". А объяснить, зачем оно нужно, обычно не могут.
Тем не менее сама 1с иногда использует подходы ООП в своих типовых конфигурациях. Например я нечто похожее видел в ЗУП. Не типовое использование обработки, когда по сути обработка представляет в себе некий объект принимающий в эскпортные переменные (как в свойства) какие-то данные и выдающая на выходе в такую же экспортную перменную некий результат, а расчет происходит внутри обработки в закрытых процедурах и функциях.