SlideShare una empresa de Scribd logo
1 de 27
Módulo 4: Encapsulamiento y modularidad
NAC
Modalidad de estudios: Virtual
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Zeuszoft@protonmail.com
Objetivos del encuentro:
1. Adquirir los conceptos básicos relacionados con la
programación
2. Reconocer las características de la programación
3. Conocer la historia de la programación
Módulo Nro. 4
Frase Motivacional
Cuando te encuentres a ti mismo al
lado de la mayoría, es tiempo de
parar y reflexionar
(Mark Twain)
Tipos de clases
Convenciones
• Nombres de clases
• Primera letra mayúscula y cada palabra subsiguiente
comienza con mayúscula, sin espacios
• Sustantivos cosas
• ClaseDeVariasPalabras
• Nombres de métodos y variables
• Primera letra minúscula y cada palabra subsiguiente
comienza con mayúscula, sin espacios
• Verbos acciones
• variableDeVariasPalabras
Cuerpo
• Constructores
• Métodos
• Variables
• finalize()
Las variables y métodos de una clase son llamados miembros
de la clase.
Los constructores no son métodos, no son miembros
Constructores
• Mismo nombre de la clase
• Puede haber más de uno (sobrecarga)
• Inicialización del objeto
• Opcional. El compilador crea uno en caso de que
no se especifique en forma explícita
• Pueden tener variables locales, ciclos y otros
estatutos
Uso de this dentro de
constructores
• Indica “este” objeto
• Sirve para diferenciar variables de la clase de los
parámetros con el mismo nombre
• Está implícito en todos los miembros de la clase
• También se puede usar en métodos
public Rectangulo(int x, int y){
this.x = x;
this.y = y;
ancho = 100;
alto = 100;
}
Especificadores de acceso para
constructores
• private
• Ninguna otra clase puede crear un objeto de esta clase.
• protected
• Sólo subclases de esta clase pueden crear objetos de esta clase
• public
• Todas las clases pueden crear objetos de esta clase
• package
• Sólo clases del mismo paquete (package) puede crear instancias de esta clase
Declaración de variables
• Nivel de acceso
• public, protected, package, private
• Discutidos en control de acceso a miembros de una clase . . . .
.
• Atributos
• static, final, transient, volatile
[nivel de acceso] [atributos] tipo nobre;
Especificadores de acceso para
variables
• private
• Solo pueden ser utilizadas dentro de la clase donde son definidas
• protected
• Sólo la clase donde son definidas, subclases de ésta y clases del mismo paquete
pueden acceder a estas variables
• public
• Todas las clases pueden acceder a estas variables
• package
• Sólo clases del mismo paquete pueden acceder estas variables, no subclases, es
especificador por omisión
Atributos de una variable
• static
• variable de clase (no de ejemplar)
• final
• Valor de la variable no puede cambiar (constante)
• transient
• Variable no debe ser serializada
• volatile
• El compilador no efectua ciertas optimizaciones
Métodos
Nivel de
Acceso
Atributos
Tipo que
regresa
Nombre
Paráme-
tros
Throws
Exceptions
public String invierte (String s);
public static int parseInt(String s) throws NumberFormatException;
public static native long currentTimeMillis();
Especificadores de acceso para
métodos
● private
– Solo pueden ser llamados dentro de la clase donde son definidos
● protected
– Sólo la clase donde son definidos, subclases de ésta y clases del mismo
paquete pueden acceder a estos métodos
● public
– Todas las clases pueden acceder a estos métodos
● package
– Sólo clases del mismo paquete pueden acceder estos métodos, no
sublclases, es especificador por omisión
Atributos de métodos
• static
• método de clase y no de ejemplar
• abstract
• No tiene implementación. Debe de pertencer a una clase abstract
• final
• No puede ser reprogramado (overriden)
• native
• escrito en otro lenguaje, código específico para una plataforma
• synchronized
• para ser usado por threads y no causar problemas típicos de multiproceso
Sobrecarga de métodos
• Varios métodos pueden compartir el mismo
nombre, deben de diferir en el número y/o tipo de
parámetros
public int suma (int a, int b){}
public double suma (double a, double b){}
public void suma (){}
Redefinición de métodos
• Una clase puede reemplazar (override) un método de su
superclase
• El método debe ser exactamente igual (tipo de regreso, nombre y
parámetros), sólo cambia la programación
• Casi todas las clases reprograman toString()
• Para agregar código a un método se puede llamar
super.nombre(...)
• Los métodos final y static no se pueden reprogramar
• Los métodos abstract de una superclase se deben de
reprogramar
Parámetros de un método
• Se usan para pasar información a un método
• Se debe declarar el tipo y nombre de cada uno, separados por
coma
• Pueden ser de cualquier tipo válido en Java (primitivos, objetos,
arreglos)
• No se pueden pasar métodos como parámetros, pero se puede
pasar un objeto y llamar a uno de sus métodos
• Si tienen el mismo nombre que una variable de la clase, el
parámetro “esconde” a la variable dentro del cuerpo del método,
para accesar a la variable es necesario usar this
• No pueden tener el mismo nombre que otro parámetro, variable
local o parámetro de un catch
Paso por valor
• Los parámetros en Java se pasan por valor
• Tipos primitivos
• El valor no cambia
• Tipos por referencia
• La referencia no cambia, pero se pueden invocar sus
métodos y modificar sus variables
Ejemplo
public cambiaValor (int x, Button b){
x = 5;
b.setLabel(“Otro letrero”);
}
int edad = 25;
Button boton = new Button (“Letrero original”);
cambiaValor (edad, boton);
edad = 25 edad = 25
cambiaValor(edad,boton)
Métodos
• this
• se refiere al objeto en ejecución, el ejemplar al cual
pertenece el método
• super
• Para acceder a variables y métodos de la superclase
• variables locales
• Declaradas en el cuerpo del método, están “vivas”
durante la ejecución del método
Miembros de una clase
• Miembros de clase
• Se definen static
• Existe sólo una copia en memoria, compartida por todas los
ejemplares de la clase
• No pueden acceder a variables de ejemplar
• Miembros de ejemplar
• Se utilizan a través de un objeto (objeto.variable u
objeto.método(...))
• Existe una copia separada por cada objeto
• Pueden acceder a variables de clase
Ejemplo
Ejemplo
Ejemplo
Ejemplo
GRACIAS

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
 
Elementos avanzados de poo
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de poo
 
Presentacion5
Presentacion5Presentacion5
Presentacion5
 
19 paso de parámetros y ámbito de las variables
19 paso de parámetros y ámbito de las variables19 paso de parámetros y ámbito de las variables
19 paso de parámetros y ámbito de las variables
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
Clase5 POO
Clase5 POOClase5 POO
Clase5 POO
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de java
 
S4-POO-2.2 Tipos de Clases
S4-POO-2.2 Tipos de ClasesS4-POO-2.2 Tipos de Clases
S4-POO-2.2 Tipos de Clases
 
Proyecto PCJ. Tema.8. Clases Internas.
Proyecto PCJ. Tema.8. Clases Internas.Proyecto PCJ. Tema.8. Clases Internas.
Proyecto PCJ. Tema.8. Clases Internas.
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Java12
Java12Java12
Java12
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOSUnidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
Unidad 5 VARIABLES Y MÉTODOS ESTÁTICOS
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 

Similar a 4- Encapsulamiento y modularidad

Similar a 4- Encapsulamiento y modularidad (20)

Presentacion4
Presentacion4Presentacion4
Presentacion4
 
18448198 programacion-orientada-a-objetos
18448198 programacion-orientada-a-objetos18448198 programacion-orientada-a-objetos
18448198 programacion-orientada-a-objetos
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
 
Clases en java
Clases en javaClases en java
Clases en java
 
DAW - Desarrollo de clases
DAW - Desarrollo de clasesDAW - Desarrollo de clases
DAW - Desarrollo de clases
 
Introducción a java ii
Introducción a java iiIntroducción a java ii
Introducción a java ii
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESO
 
Certificación java 6 cap 2
Certificación java 6 cap 2Certificación java 6 cap 2
Certificación java 6 cap 2
 
lenguajejava.pptx
lenguajejava.pptxlenguajejava.pptx
lenguajejava.pptx
 
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos 4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
 
METODOS
METODOSMETODOS
METODOS
 
recurso6 (5).pdf
recurso6 (5).pdfrecurso6 (5).pdf
recurso6 (5).pdf
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una clase
 
Teoria-de-la-unidad-2
Teoria-de-la-unidad-2Teoria-de-la-unidad-2
Teoria-de-la-unidad-2
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetos
 
metodos de clases
metodos de clasesmetodos de clases
metodos de clases
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
S4-Tipos De Clases
S4-Tipos De ClasesS4-Tipos De Clases
S4-Tipos De Clases
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaANACENIMENDEZ1
 
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxCONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxBrayanJavierCalle2
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 

Último (20)

Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedica
 
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxCONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 

4- Encapsulamiento y modularidad

  • 1. Módulo 4: Encapsulamiento y modularidad NAC Modalidad de estudios: Virtual Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Zeuszoft@protonmail.com
  • 2. Objetivos del encuentro: 1. Adquirir los conceptos básicos relacionados con la programación 2. Reconocer las características de la programación 3. Conocer la historia de la programación Módulo Nro. 4
  • 3. Frase Motivacional Cuando te encuentres a ti mismo al lado de la mayoría, es tiempo de parar y reflexionar (Mark Twain)
  • 5. Convenciones • Nombres de clases • Primera letra mayúscula y cada palabra subsiguiente comienza con mayúscula, sin espacios • Sustantivos cosas • ClaseDeVariasPalabras • Nombres de métodos y variables • Primera letra minúscula y cada palabra subsiguiente comienza con mayúscula, sin espacios • Verbos acciones • variableDeVariasPalabras
  • 6. Cuerpo • Constructores • Métodos • Variables • finalize() Las variables y métodos de una clase son llamados miembros de la clase. Los constructores no son métodos, no son miembros
  • 7. Constructores • Mismo nombre de la clase • Puede haber más de uno (sobrecarga) • Inicialización del objeto • Opcional. El compilador crea uno en caso de que no se especifique en forma explícita • Pueden tener variables locales, ciclos y otros estatutos
  • 8. Uso de this dentro de constructores • Indica “este” objeto • Sirve para diferenciar variables de la clase de los parámetros con el mismo nombre • Está implícito en todos los miembros de la clase • También se puede usar en métodos public Rectangulo(int x, int y){ this.x = x; this.y = y; ancho = 100; alto = 100; }
  • 9. Especificadores de acceso para constructores • private • Ninguna otra clase puede crear un objeto de esta clase. • protected • Sólo subclases de esta clase pueden crear objetos de esta clase • public • Todas las clases pueden crear objetos de esta clase • package • Sólo clases del mismo paquete (package) puede crear instancias de esta clase
  • 10. Declaración de variables • Nivel de acceso • public, protected, package, private • Discutidos en control de acceso a miembros de una clase . . . . . • Atributos • static, final, transient, volatile [nivel de acceso] [atributos] tipo nobre;
  • 11. Especificadores de acceso para variables • private • Solo pueden ser utilizadas dentro de la clase donde son definidas • protected • Sólo la clase donde son definidas, subclases de ésta y clases del mismo paquete pueden acceder a estas variables • public • Todas las clases pueden acceder a estas variables • package • Sólo clases del mismo paquete pueden acceder estas variables, no subclases, es especificador por omisión
  • 12. Atributos de una variable • static • variable de clase (no de ejemplar) • final • Valor de la variable no puede cambiar (constante) • transient • Variable no debe ser serializada • volatile • El compilador no efectua ciertas optimizaciones
  • 13. Métodos Nivel de Acceso Atributos Tipo que regresa Nombre Paráme- tros Throws Exceptions public String invierte (String s); public static int parseInt(String s) throws NumberFormatException; public static native long currentTimeMillis();
  • 14. Especificadores de acceso para métodos ● private – Solo pueden ser llamados dentro de la clase donde son definidos ● protected – Sólo la clase donde son definidos, subclases de ésta y clases del mismo paquete pueden acceder a estos métodos ● public – Todas las clases pueden acceder a estos métodos ● package – Sólo clases del mismo paquete pueden acceder estos métodos, no sublclases, es especificador por omisión
  • 15. Atributos de métodos • static • método de clase y no de ejemplar • abstract • No tiene implementación. Debe de pertencer a una clase abstract • final • No puede ser reprogramado (overriden) • native • escrito en otro lenguaje, código específico para una plataforma • synchronized • para ser usado por threads y no causar problemas típicos de multiproceso
  • 16. Sobrecarga de métodos • Varios métodos pueden compartir el mismo nombre, deben de diferir en el número y/o tipo de parámetros public int suma (int a, int b){} public double suma (double a, double b){} public void suma (){}
  • 17. Redefinición de métodos • Una clase puede reemplazar (override) un método de su superclase • El método debe ser exactamente igual (tipo de regreso, nombre y parámetros), sólo cambia la programación • Casi todas las clases reprograman toString() • Para agregar código a un método se puede llamar super.nombre(...) • Los métodos final y static no se pueden reprogramar • Los métodos abstract de una superclase se deben de reprogramar
  • 18. Parámetros de un método • Se usan para pasar información a un método • Se debe declarar el tipo y nombre de cada uno, separados por coma • Pueden ser de cualquier tipo válido en Java (primitivos, objetos, arreglos) • No se pueden pasar métodos como parámetros, pero se puede pasar un objeto y llamar a uno de sus métodos • Si tienen el mismo nombre que una variable de la clase, el parámetro “esconde” a la variable dentro del cuerpo del método, para accesar a la variable es necesario usar this • No pueden tener el mismo nombre que otro parámetro, variable local o parámetro de un catch
  • 19. Paso por valor • Los parámetros en Java se pasan por valor • Tipos primitivos • El valor no cambia • Tipos por referencia • La referencia no cambia, pero se pueden invocar sus métodos y modificar sus variables
  • 20. Ejemplo public cambiaValor (int x, Button b){ x = 5; b.setLabel(“Otro letrero”); } int edad = 25; Button boton = new Button (“Letrero original”); cambiaValor (edad, boton); edad = 25 edad = 25 cambiaValor(edad,boton)
  • 21. Métodos • this • se refiere al objeto en ejecución, el ejemplar al cual pertenece el método • super • Para acceder a variables y métodos de la superclase • variables locales • Declaradas en el cuerpo del método, están “vivas” durante la ejecución del método
  • 22. Miembros de una clase • Miembros de clase • Se definen static • Existe sólo una copia en memoria, compartida por todas los ejemplares de la clase • No pueden acceder a variables de ejemplar • Miembros de ejemplar • Se utilizan a través de un objeto (objeto.variable u objeto.método(...)) • Existe una copia separada por cada objeto • Pueden acceder a variables de clase

Notas del editor

  1. private Ninguna otra clase puede crear una instancia de esta clase. Pero la clase puede tener métodos public que creen una instacia y la regresen como una referencia protected Sólo subclases de esta clase pueden crear instancias. Clases independientes no pueden crear instancias esto se hace como protección y modularidad public Todas las clases pueden crear instancias de esta clase. Cualquier clase del programador o de otros paquetes pueden instanciar y utilizar objetos de esta clase package Sólo clases del mismo paquete puede crear instancias de esta clase. En caso de utilizar un paquete se utiliza package para evitar que alguna otra clase cree un objeto, pero clases del mismo paquete puede crear objetos de esta clase para dar modularidad y seguridad