¿Qué son públicos, privados y protegidos en la programación orientada a objetos?
class
oop
definition
access-modifiers
Delirium tremens
fuente
fuente
Respuestas:
Son modificadores de acceso y nos ayudan a implementar la encapsulación (o el ocultamiento de información). Indican 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 subclases actuales (y algunas 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 utilizan como parte de una declaración de campo o método dentro de una definición de clase.
fuente
En realidad, no son conceptos, sino palabras clave específicas que tienden a aparecer (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 miembros (campos o funciones). La idea es que cuanto menos se le permita a un tipo acceder a otro tipo, menos dependencia se puede crear. Esto permite cambiar más fácilmente el objeto al que se accede sin afectar a 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 autorizados. 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.
fuente
Los tres son modificadores de acceso y palabras clave que se utilizan en una clase. Cualquier objeto declarado en público puede ser utilizado por cualquier objeto dentro 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.
fuente
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 punto 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 esos datos. Espero que esto ayude.
fuente
como arriba, pero cualitativamente:
cuanto menos acceso proporcione, menos detalles de implementación se filtrarán de sus objetos. menos de este tipo de fuga significa más flexibilidad (también conocida como "acoplamiento más flexible") en términos de cambiar la forma en que se implementa un objeto sin romper los clientes del objeto. esto es algo verdaderamente fundamental de entender.
fuente
En resumen, 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.
fuente