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

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 

Último (20)

ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 

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