Основное отличие секций published и public в объявлении класса заключается в их назначении. 14
Public определяет общедоступные поля, свойства и методы, которые не имеют ограничений на использование. 13 Всё, что помещается в эту секцию, служит для манипуляций с объектами и составляет программный интерфейс класса. 1
Published предназначен для свойств, которые должны быть доступны не только на этапе исполнения, но и на этапе конструирования программы (например, в окне Инспектора объектов). 2
Кроме того, для элементов, помещённых в секцию published, компилятор генерирует информацию о типах этих элементов. 1 Эта информация доступна во время выполнения программы, что позволяет превращать объекты в компоненты визуальной среды разработки. 1
Секцию published разрешено использовать только тогда, когда для самого класса или его предка включена директива компилятора $TYPEINFO. 1