Pregunta

¿Qué son público, privado y protegido en la programación orientada a objetos?

¿Fue útil?

Solución

Son modificadores de acceso y nos ayudan a implementar Encapsulación (o 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 actual y las subclases (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 hacer referencia al campo o llamar al método.

Esto supone que estas palabras clave se usan como parte de una declaración de campo o método dentro de una definición de clase.

Otros consejos

No son realmente conceptos, sino palabras clave específicas que tienden a aparecer (con semánticas ligeramente diferentes) en lenguajes populares como C ++ y Java.

Esencialmente, están destinados a permitir que una clase restrinja el acceso a los miembros (campos o funciones). La idea es que cuanto menos se permita el acceso a un tipo en otro tipo, menos dependencia se puede crear. Esto permite que el objeto al que se accede se cambie 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 pueden hacerlo. 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.

Los tres son modificadores de acceso y palabras clave que se utilizan en una clase. Todo lo declarado en público puede ser utilizado 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 se pueden cambiar a través del acceso directo (ya que puede cambiar a través de funciones como la función de amigo) Cualquier cosa definida en la sección protegida puede ser utilizada por la clase y su clase derivada.

Un elemento público es uno al que se puede acceder desde cualquier otra clase. Solo tiene que saber qué objeto es y puede 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 algo 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 esos datos. Espero que esto ayude.

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 desde otras clases u otros .dlls o incluso otras aplicaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top