class - que - ¿Qué son públicos, privados y protegidos en programación orientada a objetos?
programacion orientada a objetos ejemplos (5)
¿Qué son públicos, privados y protegidos en programación orientada a objetos?
Los tres son modificadores de acceso y palabras clave que se usan en una clase. Cualquier cosa declarada en público puede ser utilizada por cualquier objeto dentro de la clase o fuera de la clase, las variables en privado solo pueden ser utilizadas por los objetos dentro de la clase y no pueden ser cambiadas a través del acceso directo (ya que puede cambiar a través de funciones como la función amigo) Cualquier clase definida en la sección protegida puede ser utilizada por la clase y su clase derivada.
No son realmente conceptos, sino palabras clave específicas que tienden a ocurrir (con semántica ligeramente diferente) en lenguajes populares como C ++ y Java.
Básicamente, están destinados a permitir que una clase restrinja el acceso a los miembros (campos o funciones). La idea es que mientras menos se permita el acceso a un tipo en otro tipo, se puede crear menos dependencia. Esto permite que el objeto accedido se pueda cambiar más fácilmente sin afectar los objetos que se refieren a él.
En términos generales, público significa que todos pueden acceder, privado significa que solo los miembros de la misma clase pueden acceder, y protegido significa que los miembros de las subclases también están permitidos. Sin embargo, cada idioma agrega sus propias cosas a esto. Por ejemplo, C ++ le permite heredar de forma no pública. En Java, también hay un nivel de acceso predeterminado (paquete), y hay reglas sobre clases internas, etc.
Para resumir, en la programación orientada a objetos, todo se modela en clases y objetos. Las clases contienen propiedades y métodos. Las palabras clave públicas, privadas y protegidas se utilizan para especificar el acceso a estos miembros (propiedades y métodos) de una clase de otras clases u otros .dlls o incluso otras aplicaciones.
Son modificadores de acceso y nos ayudan a implementar Encapsulation (u ocultación de información). Le dicen al compilador qué otras clases deberían tener acceso al campo o método que se está definiendo.
private
: solo la clase actual tendrá acceso al campo o método.
protected
: solo la clase y las subclases actuales (y a veces también las clases del mismo paquete) de esta clase tendrán acceso al campo o método.
public
- Cualquier clase puede referirse al campo o llamar al método.
Esto supone que estas palabras clave se utilizan como parte de un campo o declaración de método dentro de una definición de clase.
Un artículo público es aquel al que se puede acceder desde cualquier otra clase. Solo tienes que saber qué objeto es y puedes usar un operador de puntos para acceder a él. Protegido significa que una clase y sus subclases tienen acceso a la variable, pero no a ninguna otra clase, necesitan usar un getter / setter para hacer cualquier cosa con la variable. Un privado significa que solo esa clase tiene acceso directo a la variable, todo lo demás necesita un método / función para acceder o cambiar esa información. Espero que esto ayude.