SlideShare una empresa de Scribd logo
1 de 21
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

Porafolio unidad 1
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1bchrmz
 
Niveles de accesibilidad
Niveles de accesibilidadNiveles de accesibilidad
Niveles de accesibilidadsandri_lissette
 
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.pptxjuan gonzalez
 
Modificadores de acceso
Modificadores de accesoModificadores de acceso
Modificadores de accesoCesar Mcfly
 
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 JavaEmilio Aviles Avila
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Javamartosfre
 
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 objetosAndres Herrera Rodriguez
 
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 JavaAngel Vázquez Patiño
 
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 Marielena Lujano
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamientozeta2015
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )brayan0015
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradavnslgars
 
Encapsulamiento poo
Encapsulamiento pooEncapsulamiento poo
Encapsulamiento pooHectorChia
 

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
 
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
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
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

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (13)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

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.