Está en la página 1de 3

Modificadores de Acceso

¿Qué es un modificador de acceso? Es lo que delimita el alcance de un objeto


en Java. Puede ser un objeto, un método, un campo, una variable, cualquier
cosa. El modificador de acceso delimita el alcance que él que va a tener.

[00:44] ¿Y a qué me refiero con el alcance? Es la visibilidad que va a tener


dentro del proyecto.

El modificador de acceso default nos dice, bueno, si no especificas, es el que


va por defecto, ya su propio nombre lo dice. Pero lo que él nos dice es que
esta clase va a ser visible únicamente dentro del mismo paquete. Entonces,
dado que los tests están fuera del paquete, contador no es accesible.

Public es el más permisivo. Public lo que me dice es: "no importa donde estés,
tú puedes entrar."

[02:59] Salvo, guardo y vemos que ya tengo ControlBonificación y todo


funcionando tranquilamente. Recapitulando hasta aquí, public es más
permisivo, el default es el que nos permite tener acceso a la clase o al atributo
dentro del mismo paquete.

¿Cuál sería el tercero? El tercero sería el protected, y protected lo estamos


usando aquí.

[03:26] ¿Y por qué es que usamos protected aquí? A ver, vamos viendo algo,
si public es el más permisivo, default es solamente visible a nivel de paquete.
¿Qué es lo que hace protected? Protected lo que hace es darme visibilidad a
nivel de paquete y también a nivel de herencia. ¿A qué me refiero con a nivel
de herencia?
Private me dice: "Tú no puedes acceder a mí fuera de la clase". Entonces el
protected nos da esa ventaja. Podemos acceder desde el mismo paquete y
también con las clases hijas, toda clase que sea hija de cuenta va a conseguir
entrar a ver el saldo. Si no es hijo de cuenta, entonces no va a poder.
Entonces aquí ya estamos comprobando pues que, en efecto, yo puedo acceder
a la variable saldo, puedo asignarle un valor incluso estando en otro paquete.
¿Pero por qué puedo hacer esto? Porque extiendo de cuenta, entonces esta es
una clase hija de cuenta.

También podría gustarte