Translations:Developers/Object oriented programming in PHP/Methods/2/ru


 * public
 * указанные, как public методы можно использовать везде, внутри или вне своих или других классов и они наследуются в субклассах. Они относятся к внешнему интерфейсу класса и их изменение может сказаться на совместимости с остальным кодом, за исключением добавления дополнительных параметров. Обычно публичные методы обеспечиваются интерфейсами, так что вы должны быть уверены, что методы не изменится в течение очень долгого времени. Количество кода в публичных методах не должно быть велико, связанный код необходимо перенести в защищённые методы для упрощения изменения реализации существующей функциональности.


 * protected
 * protected методы могут быть доступны со стороны только лишь методов собственного класса и его субклассов. Они относятся к внутренним интерфейсам класса, и их изменение также ведёт к несовместимости (за исключением добавления параметров). Большинство методов, используемых внутри, должны быть объявлены как protected, если их содержимое относительно стабильно. Это отличная возможность разбиения больших методов на кусочки и возможность переназначения только этих кусочков в субклассах и относящейся к ним функциональности.


 * private
 * все методы private могут использоваться лишь внутри своего класса и они не наследуются субклассами. Их можно как угодно изменять, не затрагивая код вне класса. Используйте их, если не уверены, что метод недостаточно общеприменимый, чтобы использовать его в субклассах, или потому, что будете изменять этот метод в будущем.