SlideShare una empresa de Scribd logo
MODIFICADORES DE
ACCESO EN JAVA
PROGRAMACION ORIENTADA A OBJETOS 2
DEFINICIONES
Existen muchos conceptos en programación orientada a objetos, como clases y objetos, sin embargo, en el desarrollo
de software con programación orientada a objetos, existen un conjunto de ideas fundamentales que forman los
cimientos del desarrollo de software.
Estos pilares son: abstracción, encapsulamiento, herencia y polimorfismo.
Esto no quiere decir que fuera de estos 4 pilares no existan otras ideas igual de importantes, sin embargo, estos 4
pilares representan la base de ideas más avanzadas, por lo que es crucial entenderlos.
ENCAPSULAMIENTO
Es la forma en la que podemos definir como se visualiza la información o como será oculta, esto para la seguridad de
la misma, un atributo principalmente aparece como un campo público, pero podemos volverlo Privado o en su defecto
para otras cosas dejarlo protegido
HERENCIA
Es una manera de reutilizar código, pero se define como la capacidad que tiene una clase padre de heredad sus
atributos y métodos a una clase hija, y aunque hereda los atributos la clase hija tiene atributos propios. En java no
existe la multi-herencia por lo cual se hace un proceso de interfaces que se asimila a loa que es una herencia múltiple
sin embargo no es lo mismo.
HERENCIA
HERENCIA
HERENCIA
HERENCIA
HERENCIA
HERENCIA
extends: Esta palabra reservada, indica a la clase hija cual va a ser su clase padre, es decir que por ejemplo en la
clase Futbolista al poner "public class Futbolista extends SeleccionFutbol" le estamos indicando a la clase 'Futbolista'
que su clase padre es la clase 'SeleccionFutbol' o dicho de otra manera para que se entienda mejor, al poner esto
estamos haciendo un "copy-paste dinámico" diciendo a la clase 'Futbolista' que se 'copie' todos los atributos y
métodos públicos o protegidos de la clase 'SeleccionFutbol'. De aquí viene esa 'definición' que dimos de que la
herencia en un 'copy-paste dinámico'.
protected: sirve para indicar un tipo de visibilidad de los atributos y métodos de la clase padre y significa que cuando
un atributo es 'protected' o protegido, solo es visible ese atributo o método desde una de las clases hijas y no desde
otra clase.
super: sirve para llamar al constructor de la clase padre. Quizás en el código que hemos puesto no se ha visto muy
bien, pero a continuación lo mostramos de formas más clara, viendo el constructor de los objetos pasándole los
atributos:
POLIMORFISMO
Se refiere a la posibilidad de definir clases diferentes que tienen métodos o atributos denominados de forma idéntica
pero se comportan diferente.
ABSTRACCIÓN
La abstracción es la capacidad de obtener y aislar toda la información y cualidades de un objeto que no nos parezcan
relevantes, para poder encapsularlos. Para ello separamos "mentalmente" los objetos y nos centramos en su
comportamiento fundamental.
Gracias a ello, podemos representar las características esenciales de un objeto sin preocuparnos de las restantes.
MODIFICADORES DEACCESO JAVA:
PUBLIC, PRIVATE, PROTECTED
Hasta ahora habíamos dicho que una subclase no tiene acceso a los campos de una superclase de acuerdo con el
principio de ocultación de la información. Sin embargo, esto podría considerarse como demasiado restrictivo.
Decimos que podría considerarse demasiado restrictivo porque limita el acceso a una subclase como si se tratara de
una clase cualquiera, cuando en realidad la relación de una superclase con una subclase es más estrecha que con
una clase externa. Por ello en diferentes lenguajes, Java entre ellos, se usa un nivel de acceso intermedio que no es
ni public ni private, sino algo intermedio que se denomina como “acceso protegido”, expresado con la palabra
clave protected, que significa que las subclases sí pueden tener acceso al campo o método.
El modificador de acceso protected puede aplicarse a todos los miembros de una clase, es decir, tanto a campos
como a métodos o constructores. En el caso de métodos o constructores protegidos, estos serán visibles/utilizables
por las subclases y otras clases del mismo package. El acceso protegido suele aplicarse a métodos o constructores,
pero preferiblemente no a campos, para evitar debilitar el encapsulamiento. En ocasiones puntuales sí resulta de
interés declarar campos con acceso protegido.
MODIFICADORES DEACCESO JAVA:
PUBLIC, PRIVATE, PROTECTED
Java admite una variante más en cuanto a modificadores de acceso: la omisión del mismo (no declarar ninguno de los
modificadores public, private o protected). En la siguiente tabla puedes comparar los efectos de usar uno u otro tipo
de declaración en cuanto a visibilidad de los campos o métodos:
MODIFICADOR DEACCESO POR DEFECTO (DEFAULT)
Cuando no se especifica ningún modificador de acceso para una clase, método o miembro de datos, se dice estar
teniendo modificador de acceso default por defecto.
Los miembros de datos, clase o métodos que no se declaran utilizando ningún modificador de acceso, es decir, que
tengan un modificador de acceso predeterminado, solo son accesibles dentro del mismo paquete.
MODIFICADOR DEACCESO POR DEFECTO (DEFAULT)
MODIFICADOR DEACCESO PRIVADO (PRIVATE)
El modificador de acceso privado se especifica con la palabra clave private. Los métodos o los miembros de datos
declarados como privados solo son accesibles dentro de la clase en la que se declaran.
• Cualquier otra clase del mismo paquete no podrá acceder a estos miembros.
• Las clases e interfaces no se pueden declarar como privadas (private).
MODIFICADOR DEACCESO PRIVADO (PRIVATE)
MODIFICADOR DEACCESO PROTEGIDO (PROTECTED)
El modificador de acceso protegido se especifica con la palabra clave PROTECTED.
Los métodos o miembros de datos declarados como PROTECTED son accesibles dentro del mismo paquete o sub-
clases en paquetes diferentes.
MODIFICADOR DEACCESO PÚBLICO (PUBLIC)
El modificador de acceso público se especifica con la palabra clave public.
• El modificador de acceso público tiene el alcance más amplio entre todos los demás modificadores de acceso.
• Las clases, métodos o miembros de datos que se declaran como públicos son accesibles desde cualquier lugar
del programa. No hay restricciones en el alcance de los miembros de datos públicos.
MODIFICADORES QUE NO SON DE ACCESO
En Java, tenemos 7 modificadores que no son de acceso o, a veces, también llamados especificadores. Se usan
con clases, métodos, variables, constructores, etc.
• static
• final
• abstract
• synchronized
• transient
• volatile
• Native
NOTA: Use PRIVATE a menos que tenga una buena razón para no hacerlo. También evite los campos públicos,
excepto las constantes.

Más contenido relacionado

Similar a 01. MODIFICADORES DE ACCESO EN JAVA.pptx

Niveles de accesibilidad
Niveles de accesibilidadNiveles de accesibilidad
Niveles de accesibilidad
sandri_lissette
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
vnslgars
 

Similar a 01. MODIFICADORES DE ACCESO EN JAVA.pptx (20)

Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
 
Niveles de accesibilidad
Niveles de accesibilidadNiveles de accesibilidad
Niveles de accesibilidad
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx
 
JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
 
Modificadores de acceso
Modificadores de accesoModificadores de acceso
Modificadores de acceso
 
java
java java
java
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En Java
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetos
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento poo
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 

01. MODIFICADORES DE ACCESO EN JAVA.pptx

  • 1. MODIFICADORES DE ACCESO EN JAVA PROGRAMACION ORIENTADA A OBJETOS 2
  • 2. DEFINICIONES Existen muchos conceptos en programación orientada a objetos, como clases y objetos, sin embargo, en el desarrollo de software con programación orientada a objetos, existen un conjunto de ideas fundamentales que forman los cimientos del desarrollo de software. Estos pilares son: abstracción, encapsulamiento, herencia y polimorfismo. Esto no quiere decir que fuera de estos 4 pilares no existan otras ideas igual de importantes, sin embargo, estos 4 pilares representan la base de ideas más avanzadas, por lo que es crucial entenderlos.
  • 3. ENCAPSULAMIENTO Es la forma en la que podemos definir como se visualiza la información o como será oculta, esto para la seguridad de la misma, un atributo principalmente aparece como un campo público, pero podemos volverlo Privado o en su defecto para otras cosas dejarlo protegido
  • 4. HERENCIA Es una manera de reutilizar código, pero se define como la capacidad que tiene una clase padre de heredad sus atributos y métodos a una clase hija, y aunque hereda los atributos la clase hija tiene atributos propios. En java no existe la multi-herencia por lo cual se hace un proceso de interfaces que se asimila a loa que es una herencia múltiple sin embargo no es lo mismo.
  • 10. HERENCIA extends: Esta palabra reservada, indica a la clase hija cual va a ser su clase padre, es decir que por ejemplo en la clase Futbolista al poner "public class Futbolista extends SeleccionFutbol" le estamos indicando a la clase 'Futbolista' que su clase padre es la clase 'SeleccionFutbol' o dicho de otra manera para que se entienda mejor, al poner esto estamos haciendo un "copy-paste dinámico" diciendo a la clase 'Futbolista' que se 'copie' todos los atributos y métodos públicos o protegidos de la clase 'SeleccionFutbol'. De aquí viene esa 'definición' que dimos de que la herencia en un 'copy-paste dinámico'. protected: sirve para indicar un tipo de visibilidad de los atributos y métodos de la clase padre y significa que cuando un atributo es 'protected' o protegido, solo es visible ese atributo o método desde una de las clases hijas y no desde otra clase. super: sirve para llamar al constructor de la clase padre. Quizás en el código que hemos puesto no se ha visto muy bien, pero a continuación lo mostramos de formas más clara, viendo el constructor de los objetos pasándole los atributos:
  • 11. POLIMORFISMO Se refiere a la posibilidad de definir clases diferentes que tienen métodos o atributos denominados de forma idéntica pero se comportan diferente.
  • 12. ABSTRACCIÓN La abstracción es la capacidad de obtener y aislar toda la información y cualidades de un objeto que no nos parezcan relevantes, para poder encapsularlos. Para ello separamos "mentalmente" los objetos y nos centramos en su comportamiento fundamental. Gracias a ello, podemos representar las características esenciales de un objeto sin preocuparnos de las restantes.
  • 13. MODIFICADORES DEACCESO JAVA: PUBLIC, PRIVATE, PROTECTED Hasta ahora habíamos dicho que una subclase no tiene acceso a los campos de una superclase de acuerdo con el principio de ocultación de la información. Sin embargo, esto podría considerarse como demasiado restrictivo. Decimos que podría considerarse demasiado restrictivo porque limita el acceso a una subclase como si se tratara de una clase cualquiera, cuando en realidad la relación de una superclase con una subclase es más estrecha que con una clase externa. Por ello en diferentes lenguajes, Java entre ellos, se usa un nivel de acceso intermedio que no es ni public ni private, sino algo intermedio que se denomina como “acceso protegido”, expresado con la palabra clave protected, que significa que las subclases sí pueden tener acceso al campo o método. El modificador de acceso protected puede aplicarse a todos los miembros de una clase, es decir, tanto a campos como a métodos o constructores. En el caso de métodos o constructores protegidos, estos serán visibles/utilizables por las subclases y otras clases del mismo package. El acceso protegido suele aplicarse a métodos o constructores, pero preferiblemente no a campos, para evitar debilitar el encapsulamiento. En ocasiones puntuales sí resulta de interés declarar campos con acceso protegido.
  • 14. MODIFICADORES DEACCESO JAVA: PUBLIC, PRIVATE, PROTECTED Java admite una variante más en cuanto a modificadores de acceso: la omisión del mismo (no declarar ninguno de los modificadores public, private o protected). En la siguiente tabla puedes comparar los efectos de usar uno u otro tipo de declaración en cuanto a visibilidad de los campos o métodos:
  • 15. MODIFICADOR DEACCESO POR DEFECTO (DEFAULT) Cuando no se especifica ningún modificador de acceso para una clase, método o miembro de datos, se dice estar teniendo modificador de acceso default por defecto. Los miembros de datos, clase o métodos que no se declaran utilizando ningún modificador de acceso, es decir, que tengan un modificador de acceso predeterminado, solo son accesibles dentro del mismo paquete.
  • 16. MODIFICADOR DEACCESO POR DEFECTO (DEFAULT)
  • 17. MODIFICADOR DEACCESO PRIVADO (PRIVATE) El modificador de acceso privado se especifica con la palabra clave private. Los métodos o los miembros de datos declarados como privados solo son accesibles dentro de la clase en la que se declaran. • Cualquier otra clase del mismo paquete no podrá acceder a estos miembros. • Las clases e interfaces no se pueden declarar como privadas (private).
  • 19. MODIFICADOR DEACCESO PROTEGIDO (PROTECTED) El modificador de acceso protegido se especifica con la palabra clave PROTECTED. Los métodos o miembros de datos declarados como PROTECTED son accesibles dentro del mismo paquete o sub- clases en paquetes diferentes.
  • 20. MODIFICADOR DEACCESO PÚBLICO (PUBLIC) El modificador de acceso público se especifica con la palabra clave public. • El modificador de acceso público tiene el alcance más amplio entre todos los demás modificadores de acceso. • Las clases, métodos o miembros de datos que se declaran como públicos son accesibles desde cualquier lugar del programa. No hay restricciones en el alcance de los miembros de datos públicos.
  • 21. MODIFICADORES QUE NO SON DE ACCESO En Java, tenemos 7 modificadores que no son de acceso o, a veces, también llamados especificadores. Se usan con clases, métodos, variables, constructores, etc. • static • final • abstract • synchronized • transient • volatile • Native NOTA: Use PRIVATE a menos que tenga una buena razón para no hacerlo. También evite los campos públicos, excepto las constantes.