08/07/2021
En la programación orientada a objetos las palabras public, private y protected se utilizan para definir la visibilidad de una atributo o método con otras clases.
Por ejemplo imagenenos una clase mesero la cual debería heredar de persona y empleado, y que tiene atributos dónde guarda su nombre, número de empleado y tarjeta de crédito.
Tu cómo clase cliente estas en la capacidad de saber su nombre por ende ese atributo es público 'todas las clases pueden acceder a el', pero no al número de tarjeta de crédito o de empleado.
El número de tarjeta es algo privado del mesero y no debe ser visible por clientes ni otros empleados.
Por último el número de empleado es utilizado no solo por meseros si no por cocineros y cajeros, este atributo 'número de empleado' fue heredado de la clase empleado a sus clases hijas más específicas.
Repasando. Public: Todas las clases podrán tener acceso al método o atributo con visibilidad public.
Private: Solo la clase propietaria de sus atributos puede acceder a ellos, inaccesible desde afuera.
Protected: Un atributo o método marcado como protected podrá ser accedido por la clase que los posee o por clases hijas que hereden de ella.