SlideShare una empresa de Scribd logo
1 de 31
Programación 2
Tema: 2 Clases
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Tu voluntad se encuentra siempre bajo tu control,
por lo que nada puede detenerte
Objetivo
1. Adquirir los conceptos
básicos relacionados con
la POO
2. Reconocer las
características de la POO
● 2.2 Tipos de Clases e
Interfaces
Contenido
Objetivos de Desarrollo Sostenible
4.3 De aquí a 2030, asegurar el acceso igualitario de todos los
hombres y las mujeres a una formación técnica, profesional y
superior de calidad, incluida la enseñanza universitaria
2.2 Tipos de Clases e Interfaces
Creación de Objetos
● Declaración
○ No crea el objeto, sólo notifica al compilador el tipo de la
variable
● Creación
○ Crear un ejemplar de una clase
● Asignación de valor inicial (inicialización)
○ Por medio de constructores
Declaración
Tipo nombre;
Clase o interfaz
variable
(el valor es una referencia)
Creación del objeto
● Creación de un ejemplar de una clase
new Clase (parámetros)
Crea el objeto y regresa una referencia
(Separa la memoria para almacenarlo) Constructor de la clase
(método con el mismo
nombre)
en caso necesario
(opcionales)
Inicialización del objeto
● Por medio de constructores
nombre = new Clase (parámetros);
Referencia al objeto
en memoria
Constructores
● “Métodos” con el mismo nombre de la clase
● No tienen tipo de regreso, no regresan ningún
valor
● Una clase puede tener varios constructores, todos
con el mismo nombre, pero diferente cantidad y/o
tipo de parámetros
● Java provee un constructor por omisión (default):
Clase ()
Utilización de objetos
● Los objetos se pueden usar después de que son
creados
● Manipular sus variables
○ objeto.variable
● Llamar a sus métodos
○ objeto.método (parámetros)
● Se puede controlar el acceso a variables y métodos
de un objeto . . . . . . .
Garbage Collection
● La creación y destrucción de objetos es tediosa y
propensa a errores
● El proceso de liberación de memoria es
automatizado en Java
● Más práctico y libera al programador de esta tarea
● Disminución de errores de programación (bugs)
finalize()
● Método que se ejecuta antes de que la máquina
virtual destruya al objeto
● Todos los objetos tienen uno por default
● Util para liberar recursos del sistema
● No se puede asegurar que se ejecutará en un
momento determinado
finalize()
protected void finalize () throws Throwable{
x = null;
y.close();
super.finalize();
}
Al final llamar al finalize
de la superclase
Liberar recursos del sistema
archivos, sockets, etc.
Clases
public class Rectangulo{
int x, y;
int ancho, alto;
public Rectangulo(){
x = 0;
y = 0;
ancho = 100;
alto = 100;
}
public void mueve(int x, int y){
this.x = x;
this.y = y;
}
public void cambiaTamano(int ancho, int alto){
this.ancho = ancho;
this.alto = alto;
}
protected void finalize () throws Throwable{
x = null;
y.close();
super.finalize();
}
}
Declaración
Cuerpo
Variables
Constructor
Métodos
Limpieza
Declaración
● Modificadores
○ nada, public, abstract, final
● extends
○ identifica superclase
● implements
○ identifica interfaz que se debe de implementar
modificador class UnaClase extends Superclase implements Interfaz{}
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();
Gracias
Responsabilidad con pensamiento positivo

Más contenido relacionado

La actualidad más candente

Librería swing java
Librería swing javaLibrería swing java
Librería swing javapgpg2006
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swingmrojas_unitec
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos JavaJosé Mendoza
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanaselsemieni
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Omar B.
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing Laura
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_Robert Wolf
 
Interfaces de usuario con awt
Interfaces de usuario con awtInterfaces de usuario con awt
Interfaces de usuario con awtFlashnet S.A
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swingLCA
 
Trabajo teórico exposcición
Trabajo teórico exposciciónTrabajo teórico exposcición
Trabajo teórico exposciciónAndy Bsc
 

La actualidad más candente (19)

Librería swing java
Librería swing javaLibrería swing java
Librería swing java
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 
Swing1
Swing1Swing1
Swing1
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos Java
 
Java
JavaJava
Java
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanas
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
Fun_02_estructura_programa
Fun_02_estructura_programaFun_02_estructura_programa
Fun_02_estructura_programa
 
Clase swing
Clase swingClase swing
Clase swing
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_
 
Informe2
Informe2Informe2
Informe2
 
Clase swing
Clase swingClase swing
Clase swing
 
Plan de clases
Plan de clasesPlan de clases
Plan de clases
 
Elementos Swing
Elementos SwingElementos Swing
Elementos Swing
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Interfaces de usuario con awt
Interfaces de usuario con awtInterfaces de usuario con awt
Interfaces de usuario con awt
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swing
 
Trabajo teórico exposcición
Trabajo teórico exposciciónTrabajo teórico exposcición
Trabajo teórico exposcición
 

Similar a S4 p2

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 Luis Fernando Aguas Bucheli
 
Introducción a la programación en Python (día 2)
Introducción a la programación en Python (día 2)Introducción a la programación en Python (día 2)
Introducción a la programación en Python (día 2)CodeSyntax
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
16 17 tecnologias python oop
16 17 tecnologias python oop16 17 tecnologias python oop
16 17 tecnologias python oopSoftware Guru
 
Java1-Intro.pptbbjjjfdzvñutfdnmj habitación
Java1-Intro.pptbbjjjfdzvñutfdnmj habitaciónJava1-Intro.pptbbjjjfdzvñutfdnmj habitación
Java1-Intro.pptbbjjjfdzvñutfdnmj habitaciónFabiolaCastilloCanci
 
Java introduccion conceptos basicos una mira
Java introduccion conceptos basicos una miraJava introduccion conceptos basicos una mira
Java introduccion conceptos basicos una miraArisbethBernalSalina
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosJosé Antonio Sandoval Acosta
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc X
 
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
 

Similar a S4 p2 (20)

S4-P2.pptx
S4-P2.pptxS4-P2.pptx
S4-P2.pptx
 
S4-Tipos De Clases
S4-Tipos De ClasesS4-Tipos De Clases
S4-Tipos De Clases
 
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
 
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
 
Introducción a la programación en Python (día 2)
Introducción a la programación en Python (día 2)Introducción a la programación en Python (día 2)
Introducción a la programación en Python (día 2)
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
7-Unidad 2. Elementos de una Clase
7-Unidad 2. Elementos de una Clase7-Unidad 2. Elementos de una Clase
7-Unidad 2. Elementos de una Clase
 
8- Unidad 2: Elementos de una Clase
8- Unidad 2: Elementos de una Clase8- Unidad 2: Elementos de una Clase
8- Unidad 2: Elementos de una Clase
 
16 17 tecnologias python oop
16 17 tecnologias python oop16 17 tecnologias python oop
16 17 tecnologias python oop
 
Java1-Intro.pptbbjjjfdzvñutfdnmj habitación
Java1-Intro.pptbbjjjfdzvñutfdnmj habitaciónJava1-Intro.pptbbjjjfdzvñutfdnmj habitación
Java1-Intro.pptbbjjjfdzvñutfdnmj habitación
 
Java introduccion conceptos basicos una mira
Java introduccion conceptos basicos una miraJava introduccion conceptos basicos una mira
Java introduccion conceptos basicos una mira
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
9-Unidad 3: Encapsulamiento y modularidad
9-Unidad 3: Encapsulamiento y modularidad9-Unidad 3: Encapsulamiento y modularidad
9-Unidad 3: Encapsulamiento y modularidad
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
02 tda1 t2018
02 tda1 t201802 tda1 t2018
02 tda1 t2018
 
Semana 2 Clases y Objetos en Java
Semana 2   Clases y Objetos en JavaSemana 2   Clases y Objetos en Java
Semana 2 Clases y Objetos en Java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 
Clases
ClasesClases
Clases
 
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
 

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

Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
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
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
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
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
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
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
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
 
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
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
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
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
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
 

Último (20)

Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
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
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
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
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
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
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
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
 
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
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
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
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
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
 

S4 p2

  • 1. Programación 2 Tema: 2 Clases Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec
  • 2. Tu voluntad se encuentra siempre bajo tu control, por lo que nada puede detenerte
  • 3. Objetivo 1. Adquirir los conceptos básicos relacionados con la POO 2. Reconocer las características de la POO ● 2.2 Tipos de Clases e Interfaces Contenido
  • 4. Objetivos de Desarrollo Sostenible 4.3 De aquí a 2030, asegurar el acceso igualitario de todos los hombres y las mujeres a una formación técnica, profesional y superior de calidad, incluida la enseñanza universitaria
  • 5. 2.2 Tipos de Clases e Interfaces
  • 6.
  • 7. Creación de Objetos ● Declaración ○ No crea el objeto, sólo notifica al compilador el tipo de la variable ● Creación ○ Crear un ejemplar de una clase ● Asignación de valor inicial (inicialización) ○ Por medio de constructores
  • 8. Declaración Tipo nombre; Clase o interfaz variable (el valor es una referencia)
  • 9. Creación del objeto ● Creación de un ejemplar de una clase new Clase (parámetros) Crea el objeto y regresa una referencia (Separa la memoria para almacenarlo) Constructor de la clase (método con el mismo nombre) en caso necesario (opcionales)
  • 10. Inicialización del objeto ● Por medio de constructores nombre = new Clase (parámetros); Referencia al objeto en memoria
  • 11. Constructores ● “Métodos” con el mismo nombre de la clase ● No tienen tipo de regreso, no regresan ningún valor ● Una clase puede tener varios constructores, todos con el mismo nombre, pero diferente cantidad y/o tipo de parámetros ● Java provee un constructor por omisión (default): Clase ()
  • 12. Utilización de objetos ● Los objetos se pueden usar después de que son creados ● Manipular sus variables ○ objeto.variable ● Llamar a sus métodos ○ objeto.método (parámetros) ● Se puede controlar el acceso a variables y métodos de un objeto . . . . . . .
  • 13. Garbage Collection ● La creación y destrucción de objetos es tediosa y propensa a errores ● El proceso de liberación de memoria es automatizado en Java ● Más práctico y libera al programador de esta tarea ● Disminución de errores de programación (bugs)
  • 14. finalize() ● Método que se ejecuta antes de que la máquina virtual destruya al objeto ● Todos los objetos tienen uno por default ● Util para liberar recursos del sistema ● No se puede asegurar que se ejecutará en un momento determinado
  • 15. finalize() protected void finalize () throws Throwable{ x = null; y.close(); super.finalize(); } Al final llamar al finalize de la superclase Liberar recursos del sistema archivos, sockets, etc.
  • 16. Clases public class Rectangulo{ int x, y; int ancho, alto; public Rectangulo(){ x = 0; y = 0; ancho = 100; alto = 100; } public void mueve(int x, int y){ this.x = x; this.y = y; } public void cambiaTamano(int ancho, int alto){ this.ancho = ancho; this.alto = alto; } protected void finalize () throws Throwable{ x = null; y.close(); super.finalize(); } } Declaración Cuerpo Variables Constructor Métodos Limpieza
  • 17. Declaración ● Modificadores ○ nada, public, abstract, final ● extends ○ identifica superclase ● implements ○ identifica interfaz que se debe de implementar modificador class UnaClase extends Superclase implements Interfaz{}
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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; }
  • 22. 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
  • 23. 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;
  • 24. 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
  • 25. 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
  • 26. 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();
  • 27.
  • 28.
  • 29.
  • 30.

Notas del editor

  1. Los tres pasos: declaración, creación e incialización se pueden realizar en una sola instrucción. La declaración no crea un objeto, ni separa memoria para su contenido, simplemente es una notificación al compilador para que haga la verificación de que el objeto se usa adecuadamente. Al crear un objeto lo que se obtiene es una referencia al objeto, es decir un dirección donde está localizado el objeto.
  2. Los objetos de una clase son de tipo referencia, es decir, no se maneja el valor sino una referencia al objeto (dirección). Tipo puede ser una clase creada por el programador, una clase ya existente dentro del API de Java, una clase de un API externo al núcleo de Java (creada por alguien externo) o también puede ser una tipo de dato primitivo.
  3. La creación de un objeto regresa una referencia (dirección) al nuevo objeto creado. Además separa la memoria para contener a todo el objeto. El constructor le da un estado inicial al objeto, es decir inicializa las variables pertinentes. Los constructores deben de llevar el mismo nombre de la clase. Los constructores no son métodos, no regresan tipo, pero son muy similares a los métodos. No es necesario programar un constructor para una clase, el copilador provee un constructor por default sin parámetros que no realiza absolutamente nada, Clase(). Al crear un objeto se puede hacer invocando este constructor default.
  4. Al llamar algún constructor de una clase para crear un objeto, la llamada regresa una referencia al objeto creado.
  5. Reglas para la programación de constructores: 1.- Deben de tener el mismo nombre de la clase 2.- No se deben de declarar con tipo de regreso, es decir no regresan ninguna variable 3.- Se pueden declarar varios constructores para una clase, todos con el mismo nombre, la diferencia estriba en el tipo y/o número de parámetros 4.- En caso de que no se programe un constructor, el compilador automáticamente genera uno por omisión, el cual no lleva parámetros y no realiza ninguna instrucción, solamente lo genera para poder invocarlo y respetar la sintaxis impuesta por Java Es importante tener en cuenta que los constructores no son métodos, a pesar de que son muy similares
  6. Para utilizar un objeto es necesario crearlo. Se pueden manipular sus variables, pero esto no es recomendado por la teoría de Programación Orientada a Objetos. Lo que se debe de hacer es programar métodos que regresen valores de variables y métodos que modifiquen valores de variables, de esta manera se protege al objeto de alcanzar algún estado inestable por la asignación directa de valores no permitidos, es decir dentro de los métodos se puede realizar la verificación de que el valor que se quiere asignar a una variable es permitido. Por ejemplo supongamos que tenemos una variable edad dentro de una clase cualquiera, y esta variable representa una edad, en determinado momento se crea un objeto de esta clase (empleado1), y se ejecuta la instrucción: empleado1.x = -1; Como se ve esto llevaría a un estado impredecible del objeto ya que obviamente no se contemplan edades negativas. Para este caso se podría programar el siguiente método: public boolean asignaEdad(int edad){ if (edad < 0) return false; else return true; }
  7. El error más común de programación es olvidar liberar la memoria utilizada por una variable una vez que esta ya no se necesita, esto normalemente lleva a que el sistema se le acabe la memoria si el programador no tiene cuidado de manejar en forma eficiente este escaso recurso. Java libera al programador de esta tediosa tarea, automatizando el proceso, dejando que el programador enfoque su energía y su tiempo a producir programas de calidad.
  8. El método finalize(), pertenece a la clase Object, la cual es la madre de todas las clases, esto implica que cualquier clase hereda este método y lo puede reprogramar. No se puede garantizar cuando se ejecuta este método, ya que el recolector corre en “background” en un thread de baja prioridad. En este método se pueden liberar recursos del sistema que utiliza el objeto, recursos que normalemente no son recolectados por garbage collection, principalmente archivos y sockets.
  9. El método arroja una excepción (Throwable), esto lo cubriremos más adelante. Es importante llamar el finalize de la superclase y que esto se realice como última instrucción del método.
  10. Modificadores: nada: La clase puede ser usada por clases en el mismo paquete public: La clase puede ser usada por cualquier clase abstract: La clase no puede ser instanciada, solamente puede ser superclase, algunos métodos pueden estar programados (son genéricos para las subclases). Otros métodos pueden ser abstractos y deben ser programados por la subclase. final: La clase no puede ser superclase de ninguna clase (por seguridad y diseño) extends: identifica a una superclase, la clase declarada hereda todos los miembros de la superclase, sólo puede haber una superclase, ya que Java no soporta herencia múltiple. implements: Es responsabilidad de la clase programar todos los métodos de las interfaces declaradas. Se pueden declarar varias interfaces separadas por coma. En una interfaz los métodos están declarados mas no programados
  11. 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