SlideShare una empresa de Scribd logo
Interfaces y Clases
Internas
Módulo 6
Interfaces
 Indican que lo que puede hacer una clase
y no el cómo lo hace.
 Una clase puede implementar una o más
interfaces.
 Las Interfaces obligan a implementar los
métodos a la clase que le haga referencia.
Interfaces Existentes
 Java provee una serie de Interfaces que
permiten implementar un servicio
particular
 Por ejemplo para el método sort() de la
clase Arrays, se requiere que la clase que
está en el interior implemente a la
interface Comparable.
[java.lang.Comparable]
Ejemplo de Interface
public interface Comparable
{
int compareTo(Object other);
}
Ejemplo de uso de la Interface
class Employee implements Comparable
{
public int compareTo(Object other){
/*
-1 si this es menor que other
0 si this es igual que other
1 si this es mayor que other
*/
}
}
Ejercicio
 Implemente la clase Comparable para la
clase Empleado o Automovil (Elija la que
estime conveniente)
 Luego utilice Arrays en un arreglo de las
clases anteriores y ordénelo con el
método sort() de Arrays
clone()
 clone() es método de la interface
Cloneable
 clone() está implementado en Object
 Se utiliza para copiar un objeto
 Elimina el problema de la asignación de
un objeto a otro. (Apuntan al mismo
objeto)
Clase Interna
 Es definida dentro de otra clase
 Razones para crear una clase dentro de otra :
1. Un objeto de una clase interna puede acceder a la
implementación de un objeto que le ha creado,
incluyendo los datos privados.
2. Las clases internas quedan escondidas de las otras
clases del mismo paquete
3. Las clases internas son muy convenientes cuando
se escriben programas orientados al evento.
Ejemplo - Clase Interna
class CuentaBancaria{
public CuentaBancaria(double initialBalance){ . . .}
public void inicio(double rate) { . . . }
private double saldo;
private class InteresAgregado implements ActionListener{
// Clase Interna
}
}
Sintaxis de Clases Internas
 Referencia a objetos de la clase externa
 Ejemplo:
CuentaBancaria.this.saldo
//CuentaBancaria corresponde a la clase
externa
Clases Locales
 Las clases también se pueden declarar dentro
de un método en particular.
 Son de alta utilidad para esconder lógica al
interior de una clase
 Tienen acceso a las variables locales del
método
 Sólo viven en el bloque que han sido definidas.
Ejemplo – Clase Local
public void inicio(final double rate)
{
class InteresAgregado implements ActionListener
{
public void actionPerformed(Action event)
{
double interes = saldo * rate / 100;
saldo += interes;
NumberFormat formatter=NumberFormat.getCurrencyInstance();
System.out.println(“balance = “ + formatter.format(saldo));
}
}
ActionListener adder = new InteresAgregado();
Timer t = new Timer(1000, adder);
t.start();
}
Clases Anónimas
 Corresponden a clases sin nombre
public void inicio(final double rate)
{
ActionListener adder=new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
double interes = saldo * rate / 100;
saldo += interes;
NumberFormat formatter= NumberFormat.getCurrencyIntance();
System.out.prinln(“Balance = ” + formatter.format(saldo));
}
};
Timer t=new Timer(1000,adder);
t.start();
}
Clases Estáticas Internas
 Se utilizan para evitar la generación de
nuevas instancias dentro de una clase.
Paquetes
Estándares de J2SE
Paquetes Estándares de J2SE
 java.applet
 Este paquete contiene clases diseñadas
para usar con applets. Hay la clase
Applet y tres interfaces: AppletContext,
AppletStub y AudioClip.
Paquetes Estándares de J2SE
 java.awt
 El paquete Abstract Windowing Toolkit (awt)
contiene clases para generar widgets y
componentes GUI (Interfaz Gráfico de Usuario),
de manipulación de imágenes, impresión,
fuentes de caracteres, cursores, etc.. Incluye las
clases Button, Checkbox, Choice,
Component, Graphics, Menu, Panel,
TextArea, TextField...
Paquetes Estándares de J2SE
 java.io
 El paquete de entrada/salida contiene las clases
de acceso a ficheros, de filtrado de información,
serialización de objetos, etc.: FileInputStream,
FileOutputStream, FileReader, FileWriter.
También contiene los interfaces que facilitan la
utilización de las clases: DataInput,
DataOutput, Externalizable, FileFilter,
FilenameFilter, ObjectInput, ObjectOutput,
Serializable...
Paquetes Estándares de J2SE
 java.lang
 Este paquete incluye las clases del
lenguaje Java propiamente dicho: Object,
Thread, Exception, System, Integer,
Float, Math, String, Package, Process,
Runtime, etc.
Paquetes Estándares de J2SE
 java.net
 Este paquete da soporte a las conexiones
del protocolo TCP/IP y, además, incluye
las clases Socket, URL y
URLConnection.
Paquetes Estándares de J2SE
 java.sql
 Este paquete incluye todas las interfaces que
dan acceso a Bases de Datos a través de
JDBC, Java DataBase Connectivity, como son:
Array, Blob, Connection, Driver, Ref,
ResultSet, SQLData, SQLInput, SQLOutput,
Statement, Struct; y algunas clases
específicas: Date, DriveManager, Time,
Types...
Paquetes Estándares de J2SE
 java.util
 Este paquete es una miscelánea de clases útiles para muchas
cosas en programación: estructuras de datos, fechas, horas,
internacionalización,etc. Se incluyen, entre otras, Date (fecha),
Dictionary (diccionario), List (lista), Map (mapa), Random
(números aleatorios) y Stack (pila FIFO). Dentro de este paquete,
hay tres paquetes muy interesantes: java.util.jar, que proporciona
clases para leer y crear ficheros JAR; java.util.mime, que
proporciona clases para manipular tipos MIME, Multipurpose
Internet Mail Extension (RFC 2045, RFC 2046) y java.util.zip, que
proporciona clases para comprimir, descomprimir, calcular
checksums de datos, etc. con los formatos estándar ZIP y GZIP.
Laboratorio
 Construir una clase Estudiante que
descienda de la clase abstracta persona y
que implemente Universitario.
 Agregar clases internas Cuaderno, Lápiz.,
Calculadora.

Más contenido relacionado

PDF
2introduccionallenguajejava 141109171757-conversion-gate02
PDF
INTRODUCCION LENGUAJE JAVA
PDF
2) introduccion al lenguaje java
PPTX
PPT
Leccion 11 Java
PPT
Clase 4 JAVA 2012
PPT
Clase 4 java 2011
DOCX
estructura de un programa en java
2introduccionallenguajejava 141109171757-conversion-gate02
INTRODUCCION LENGUAJE JAVA
2) introduccion al lenguaje java
Leccion 11 Java
Clase 4 JAVA 2012
Clase 4 java 2011
estructura de un programa en java

Similar a Modulo6.ppt (20)

PPTX
Presentacion Java
PPT
Intro Java
PPT
Programación Orientada a Objetos
PDF
Guia3 java
PPTX
Benita ppp unidad 1
PDF
Java orientado a objetos
PDF
Apendice general 4 terminos de programador
PDF
Apendice general 4
PPTX
JAVA_BASICO_modo_consola_introduccion.pptx
PDF
Laboratorio interfaces
PDF
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
PPT
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
PPTX
Visual basic
PDF
secme-23192.pdf
PDF
JAVA OO - TEMA 01 - CLASES Y OBJETOS
PPTX
Programación 3: clases derivadas y polimorfismo
PDF
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
PPT
Curso Java Inicial 4 Poo En Java
PDF
Java awt javax swing
PDF
Conceptos estructuras de datos
Presentacion Java
Intro Java
Programación Orientada a Objetos
Guia3 java
Benita ppp unidad 1
Java orientado a objetos
Apendice general 4 terminos de programador
Apendice general 4
JAVA_BASICO_modo_consola_introduccion.pptx
Laboratorio interfaces
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Visual basic
secme-23192.pdf
JAVA OO - TEMA 01 - CLASES Y OBJETOS
Programación 3: clases derivadas y polimorfismo
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
Curso Java Inicial 4 Poo En Java
Java awt javax swing
Conceptos estructuras de datos

Más de ssuser73f459 (20)

PPTX
Jesus edifica su iglesia oracion inicial.pptx
PPTX
Modelo de desarrollo de software - presentación en powerpoint
PPTX
NUMBER & GENDER in nouns apuntesingles.pptx
PPTX
plantilla power point para big data.pptx
PPT
Gestion_de_Proyectos.ppt
PPT
mmg-2000.ppt
PDF
TipsIngles.pdf
PPT
uml2.ppt
PPT
excepciones.ppt
PPT
Modulo2.ppt
PPTX
CAPITULO_5_RECOPILACION_DE_INFORMACION.pptx
PPT
Clase1- Operador Office e Internet.ppt
PDF
Presentacionteatree.pdf
PPT
Modulo1-Presentaciones-parte01.1.ppt
PPT
demoDAAW.ppt
PPT
Enc. 6 - Jesus nos llama a construir su reino.ppt
DOCX
Voz Pasiva en Inglés.docx
DOC
TINKERS FARM.doc
DOCX
verb tenses.docx
DOCX
Adjetivos con ED y ING con explicación y ejemplos claros.docx
Jesus edifica su iglesia oracion inicial.pptx
Modelo de desarrollo de software - presentación en powerpoint
NUMBER & GENDER in nouns apuntesingles.pptx
plantilla power point para big data.pptx
Gestion_de_Proyectos.ppt
mmg-2000.ppt
TipsIngles.pdf
uml2.ppt
excepciones.ppt
Modulo2.ppt
CAPITULO_5_RECOPILACION_DE_INFORMACION.pptx
Clase1- Operador Office e Internet.ppt
Presentacionteatree.pdf
Modulo1-Presentaciones-parte01.1.ppt
demoDAAW.ppt
Enc. 6 - Jesus nos llama a construir su reino.ppt
Voz Pasiva en Inglés.docx
TINKERS FARM.doc
verb tenses.docx
Adjetivos con ED y ING con explicación y ejemplos claros.docx

Último (20)

PPTX
Contexto Normativo NSR10, presentacion 2025
PDF
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PDF
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
PDF
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
Primera formulación de cargos de la SEC en contra del CEN
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
Módulo-de Alcance-proyectos - Definición.pdf
Contexto Normativo NSR10, presentacion 2025
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
informacion acerca de la crianza tecnificada de cerdos
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
prg2_t01_p01_Fundamentos POO - parte1.pdf
S15 Protección de redes electricas 2025-1_removed.pdf
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
Primera formulación de cargos de la SEC en contra del CEN
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
NILS actividad 4 PRESENTACION.pptx pppppp
Estrategias de apoyo de tecnología 2do periodo pdf
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
Módulo-de Alcance-proyectos - Definición.pdf

Modulo6.ppt

  • 2. Interfaces  Indican que lo que puede hacer una clase y no el cómo lo hace.  Una clase puede implementar una o más interfaces.  Las Interfaces obligan a implementar los métodos a la clase que le haga referencia.
  • 3. Interfaces Existentes  Java provee una serie de Interfaces que permiten implementar un servicio particular  Por ejemplo para el método sort() de la clase Arrays, se requiere que la clase que está en el interior implemente a la interface Comparable. [java.lang.Comparable]
  • 4. Ejemplo de Interface public interface Comparable { int compareTo(Object other); }
  • 5. Ejemplo de uso de la Interface class Employee implements Comparable { public int compareTo(Object other){ /* -1 si this es menor que other 0 si this es igual que other 1 si this es mayor que other */ } }
  • 6. Ejercicio  Implemente la clase Comparable para la clase Empleado o Automovil (Elija la que estime conveniente)  Luego utilice Arrays en un arreglo de las clases anteriores y ordénelo con el método sort() de Arrays
  • 7. clone()  clone() es método de la interface Cloneable  clone() está implementado en Object  Se utiliza para copiar un objeto  Elimina el problema de la asignación de un objeto a otro. (Apuntan al mismo objeto)
  • 8. Clase Interna  Es definida dentro de otra clase  Razones para crear una clase dentro de otra : 1. Un objeto de una clase interna puede acceder a la implementación de un objeto que le ha creado, incluyendo los datos privados. 2. Las clases internas quedan escondidas de las otras clases del mismo paquete 3. Las clases internas son muy convenientes cuando se escriben programas orientados al evento.
  • 9. Ejemplo - Clase Interna class CuentaBancaria{ public CuentaBancaria(double initialBalance){ . . .} public void inicio(double rate) { . . . } private double saldo; private class InteresAgregado implements ActionListener{ // Clase Interna } }
  • 10. Sintaxis de Clases Internas  Referencia a objetos de la clase externa  Ejemplo: CuentaBancaria.this.saldo //CuentaBancaria corresponde a la clase externa
  • 11. Clases Locales  Las clases también se pueden declarar dentro de un método en particular.  Son de alta utilidad para esconder lógica al interior de una clase  Tienen acceso a las variables locales del método  Sólo viven en el bloque que han sido definidas.
  • 12. Ejemplo – Clase Local public void inicio(final double rate) { class InteresAgregado implements ActionListener { public void actionPerformed(Action event) { double interes = saldo * rate / 100; saldo += interes; NumberFormat formatter=NumberFormat.getCurrencyInstance(); System.out.println(“balance = “ + formatter.format(saldo)); } } ActionListener adder = new InteresAgregado(); Timer t = new Timer(1000, adder); t.start(); }
  • 13. Clases Anónimas  Corresponden a clases sin nombre public void inicio(final double rate) { ActionListener adder=new ActionListener() { public void actionPerformed(ActionEvent event) { double interes = saldo * rate / 100; saldo += interes; NumberFormat formatter= NumberFormat.getCurrencyIntance(); System.out.prinln(“Balance = ” + formatter.format(saldo)); } }; Timer t=new Timer(1000,adder); t.start(); }
  • 14. Clases Estáticas Internas  Se utilizan para evitar la generación de nuevas instancias dentro de una clase.
  • 16. Paquetes Estándares de J2SE  java.applet  Este paquete contiene clases diseñadas para usar con applets. Hay la clase Applet y tres interfaces: AppletContext, AppletStub y AudioClip.
  • 17. Paquetes Estándares de J2SE  java.awt  El paquete Abstract Windowing Toolkit (awt) contiene clases para generar widgets y componentes GUI (Interfaz Gráfico de Usuario), de manipulación de imágenes, impresión, fuentes de caracteres, cursores, etc.. Incluye las clases Button, Checkbox, Choice, Component, Graphics, Menu, Panel, TextArea, TextField...
  • 18. Paquetes Estándares de J2SE  java.io  El paquete de entrada/salida contiene las clases de acceso a ficheros, de filtrado de información, serialización de objetos, etc.: FileInputStream, FileOutputStream, FileReader, FileWriter. También contiene los interfaces que facilitan la utilización de las clases: DataInput, DataOutput, Externalizable, FileFilter, FilenameFilter, ObjectInput, ObjectOutput, Serializable...
  • 19. Paquetes Estándares de J2SE  java.lang  Este paquete incluye las clases del lenguaje Java propiamente dicho: Object, Thread, Exception, System, Integer, Float, Math, String, Package, Process, Runtime, etc.
  • 20. Paquetes Estándares de J2SE  java.net  Este paquete da soporte a las conexiones del protocolo TCP/IP y, además, incluye las clases Socket, URL y URLConnection.
  • 21. Paquetes Estándares de J2SE  java.sql  Este paquete incluye todas las interfaces que dan acceso a Bases de Datos a través de JDBC, Java DataBase Connectivity, como son: Array, Blob, Connection, Driver, Ref, ResultSet, SQLData, SQLInput, SQLOutput, Statement, Struct; y algunas clases específicas: Date, DriveManager, Time, Types...
  • 22. Paquetes Estándares de J2SE  java.util  Este paquete es una miscelánea de clases útiles para muchas cosas en programación: estructuras de datos, fechas, horas, internacionalización,etc. Se incluyen, entre otras, Date (fecha), Dictionary (diccionario), List (lista), Map (mapa), Random (números aleatorios) y Stack (pila FIFO). Dentro de este paquete, hay tres paquetes muy interesantes: java.util.jar, que proporciona clases para leer y crear ficheros JAR; java.util.mime, que proporciona clases para manipular tipos MIME, Multipurpose Internet Mail Extension (RFC 2045, RFC 2046) y java.util.zip, que proporciona clases para comprimir, descomprimir, calcular checksums de datos, etc. con los formatos estándar ZIP y GZIP.
  • 23. Laboratorio  Construir una clase Estudiante que descienda de la clase abstracta persona y que implemente Universitario.  Agregar clases internas Cuaderno, Lápiz., Calculadora.