SlideShare una empresa de Scribd logo
1 de 27
Programación
Orientada a Objetos
Tema: 2 Clases
Docente: Mg. Luis Fernando Aguas B
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
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

La actualidad más candente (19)

Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
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)
 
Cuestionario cevallos
Cuestionario cevallosCuestionario cevallos
Cuestionario cevallos
 
Cuestionario
Cuestionario Cuestionario
Cuestionario
 
16 17 tecnologias python oop
16 17 tecnologias python oop16 17 tecnologias python oop
16 17 tecnologias python oop
 
3.0 investigación pps
3.0 investigación pps3.0 investigación pps
3.0 investigación pps
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
 
Clases Anidadas
Clases AnidadasClases Anidadas
Clases Anidadas
 
Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en java
 
Unidad o informatica
Unidad o informaticaUnidad o informatica
Unidad o informatica
 
3- Clases y Objetos
3- Clases y Objetos3- Clases y Objetos
3- Clases y Objetos
 
3.- investigación Metodos
3.- investigación Metodos3.- investigación Metodos
3.- investigación Metodos
 
Clases y objetos
Clases y objetosClases y objetos
Clases y objetos
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
Creación de clases en c++
Creación de clases en c++Creación de clases en c++
Creación de clases en c++
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 

Similar a S4-Tipos De Clases

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
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
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
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una claseIsaias Toledo
 
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 relacionadoJuan Carlos Espinoza
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributosRobert Wolf
 
Métodos constructores, método toString()
Métodos constructores, método toString()Métodos constructores, método toString()
Métodos constructores, método toString()Pablo Macon
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 

Similar a S4-Tipos De Clases (20)

S4-P2.pptx
S4-P2.pptxS4-P2.pptx
S4-P2.pptx
 
S4 p2
S4 p2S4 p2
S4 p2
 
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
 
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
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
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
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una clase
 
Programación Orientada a Objetos para Python
Programación Orientada a Objetos para PythonProgramación Orientada a Objetos para Python
Programación Orientada a Objetos para Python
 
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
 
02 tda1 t2018
02 tda1 t201802 tda1 t2018
02 tda1 t2018
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Clases
ClasesClases
Clases
 
Métodos constructores, método toString()
Métodos constructores, método toString()Métodos constructores, método toString()
Métodos constructores, método toString()
 
Generics C#
Generics C#Generics C#
Generics C#
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
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
 

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

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
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
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
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
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
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
 
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
 
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
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 

Último (20)

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
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
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.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
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
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
 
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
 
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.
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 

S4-Tipos De Clases

  • 1. Programación Orientada a Objetos Tema: 2 Clases Docente: Mg. Luis Fernando Aguas B
  • 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
  • 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();

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