SlideShare a Scribd company logo
1 of 28
Lic. José Angel Quintanilla Rosales
Un programa bien escrito es su propio cielo; un
programa mal escrito es su propio infierno.
[Geoffrey James, El Tao de la Programación]
 Hace referencia a la superclase del objeto
 Muy útil al redefinir métodos
 En los constructores, para seleccionar el
constructor de la superclase
public class Prueba {
public void metodo() {
System.out.println(“Hola”);
}
}
public class Subprueba extends Prueba {
public void metodo() {
super.metodo(); // Accede a la superclase
System.out.println(“Adios”);
}
}
 Contrato que una clase (la que implementa
la interfaz) se compromete a cumplir
 Seguro para los clientes, que saben qué
comportamiento se encontrarán en las clases
que implementan la interfaz
 Las interfaces definen constantes y métodos
que usarán e implementarán las clases
 Las interfaces NO DEFINEN el cuerpo del
método, sólo su firma (nombre y
argumentos)
ejemplo
 Las interfaces también tienen jerarquía
 Una interfaz puede extender de otra interfaz
 Hereda la definición de los métodos y las
constantes
 La subinterfaz puede añadir nuevos
métodos y constantes
 Una clase implementa una interfaz
 public class Clase implements Interfaz
 La clase DEBE dar cuerpo a todos los
métodos definidos en la interfaz
 Si no, error de compilación
 Puede haber variables con tipo de la interfaz
 Interfaz a;
 Pero no se puede instancia
 a = new Interfaz() // ERROR
 Se deben asignar objetos de clases que
implementan la interfaz
 Subclases: organización funcional
 Paquetes: organización administrativa
 Agrupación de clases a juicio del
desarrollador
 Jerarquía: javax.swing.table
 Para definir a qué paquete pertenece una
clase, usar la sentencia package
 Separamos subpaquetes con puntos
package cursillo.2004.ejemplos
public class Ejemplo extends Padre {
....
}
 Para usar clases de otros paquetes
 Referencia explícita
 cursillo.2004.ejemplos.Ejemplo1 a;
 Importación
 import cursillo.2004.ejemplos.Ejemplo1
Ejemplo1 a;
 Se pueden importar clases específicas
 import cursillo.2004.ejemplos.Ejemplo1
 O todas las clases de un paquete
 import cursillo.2004.ejemplos.*
 El asterisco no importa subpaquetes
 Por defecto, se importa java.lang.*
 Declarar el objeto
 <clase> <identificador>
 Bicicleta miBicicleta;
 Pueden usarse clases o interfaces
 Las interfaces no se pueden instanciar
 Se instancia una clase que la implemente
 La variable aún no apunta a ningún objeto
 Instanciar la clase
 <identificador> = new <clase>(<args>)
 miBicicleta = new Bicicleta();
 Se indica el constructor a emplear
 Inicializa la clase
¿Qué hay mal en este programa?
public class SomethingIsWrong {
public static void main(String[] args) {
Rectangle myRect;
myRect.width = 40;
myRect.height = 50;
System.out.println("myRect's area is " + myRect.area());
}
}
NUNCA SE CREA UN OBJETO. myRect no apunta a nada.
 Acceso a variables de instancia:
<nombre>.<atributo>
 int cambio = miCoche.marcha
 Modificar variables de instancia
 miCoche.marcha = 2;
 Acceso a variables de instancia:
<nombre>.<atributo>
 int cambio = miCoche.numRuedas
 Mediante la clase
<clase>.<atributo>
 int ruedas = Coche.numRuedas
 Acceso a métodos de instancia:
<nombre>.<método>(argumentos)
 miCoche.subirMarcha();
 miCoche.setMarcha(2);
 miCoche.getMatrícula();
 Invocación de métodos de clase
<nombre>.<método>(argurmentos)
 miCoche.getNumRuedas();
 Mediante la clase
<clase>.<método>(argumentos)
 Coche.getNumRuedas()
 Pueden existir varios métodos con el mismo
nombre, pero diferentes argumentos
 En tiempo de compilación se elige el método
a invocar por los parámetros reales
proporcionados
Bicicleta
 Método especial que se invoca cuando
alguien crea un objeto de la clase
 <acceso><nombre_clase>(<args>)
 Mismo nombre que la clase
 No tiene tipo de retorno
 Sirve para inicializar el objeto
 Si no se especifica ningún constructor, Java
crea el constructor vacío
 public Clase() {;}
 Se pueden sobrecargar los constructores
para aceptar diferentes tipos de argumentos
Bicicleta
 Se puede invocar desde el constructor a otro
constructor de la clase
 this(argumentos)
 Se puede invocar al constructor de la
superclase para configurar las variables
heredades
 super(argumentos)
 Deben ser la primera instrucción
 Con Java no hay que liberar la memoria
explícitamente
 El recolector de basura se encarga
 Subsistema que mira qué objetos no están
referenciados para eliminarlos
 Ninguna variable apunta al objeto

More Related Content

What's hot

Guia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerOscar V
 
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)Oscar V
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructorrezzaca
 
Clases anidadas en www.fiec.espol.edu.ec
Clases anidadas  en www.fiec.espol.edu.ecClases anidadas  en www.fiec.espol.edu.ec
Clases anidadas en www.fiec.espol.edu.ecSilvana Vargas
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)Manuel Ch.
 
P2 actividades 2 y 3 infografía palabras reservadas
P2 actividades 2 y 3 infografía palabras reservadasP2 actividades 2 y 3 infografía palabras reservadas
P2 actividades 2 y 3 infografía palabras reservadasRoberto Cortez
 
Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en javajent46
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)Oscar V
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4K Manuel TN
 

What's hot (19)

Guia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 Programmer
 
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructor
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Clases anidadas en www.fiec.espol.edu.ec
Clases anidadas  en www.fiec.espol.edu.ecClases anidadas  en www.fiec.espol.edu.ec
Clases anidadas en www.fiec.espol.edu.ec
 
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOSJAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOS
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
P2 actividades 2 y 3 infografía palabras reservadas
P2 actividades 2 y 3 infografía palabras reservadasP2 actividades 2 y 3 infografía palabras reservadas
P2 actividades 2 y 3 infografía palabras reservadas
 
Laboratorio clase abstract
Laboratorio clase abstractLaboratorio clase abstract
Laboratorio clase abstract
 
Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
Laboratorio de polimorfismo
Laboratorio de  polimorfismoLaboratorio de  polimorfismo
Laboratorio de polimorfismo
 
Clases Anidadas
Clases AnidadasClases Anidadas
Clases Anidadas
 
Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en java
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
 
9.herencia en java
9.herencia en java9.herencia en java
9.herencia en java
 
Java OO - Tema 03 - Sobrecarga
Java OO - Tema 03 - SobrecargaJava OO - Tema 03 - Sobrecarga
Java OO - Tema 03 - Sobrecarga
 
Java OO - Tema 06 - Interfaces
Java OO - Tema 06 -  InterfacesJava OO - Tema 06 -  Interfaces
Java OO - Tema 06 - Interfaces
 
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGAJAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGA
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4
 

Viewers also liked

Viewers also liked (7)

Fauves3
Fauves3Fauves3
Fauves3
 
Web flash0812
Web flash0812Web flash0812
Web flash0812
 
Stand Century 21 Pala
Stand Century 21 PalaStand Century 21 Pala
Stand Century 21 Pala
 
How2mecab
How2mecabHow2mecab
How2mecab
 
聖学院Net戦略2008年
聖学院Net戦略2008年聖学院Net戦略2008年
聖学院Net戦略2008年
 
Vol.12
Vol.12Vol.12
Vol.12
 
BlackBerry No Longer in Government
BlackBerry No Longer in GovernmentBlackBerry No Longer in Government
BlackBerry No Longer in Government
 

Similar to Clase viii

Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4K Manuel TN
 
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 2015Renny Batista
 
Capitulo 7 moving features between objects
Capitulo 7  moving features between objectsCapitulo 7  moving features between objects
Capitulo 7 moving features between objectsJ Pablo Rivera
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Kositha Jimhiz G
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfJCarlosCrespo
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf202100941c
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2 Cesar Mcfly
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 

Similar to Clase viii (20)

Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos previos
Datos previosDatos previos
Datos previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4
 
05 Creando Clases
05   Creando Clases05   Creando Clases
05 Creando Clases
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Clases y objetos
Clases y objetosClases y objetos
Clases y objetos
 
recurso6 (5).pdf
recurso6 (5).pdfrecurso6 (5).pdf
recurso6 (5).pdf
 
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
 
Capitulo 7 moving features between objects
Capitulo 7  moving features between objectsCapitulo 7  moving features between objects
Capitulo 7 moving features between objects
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 

More from José Angel Quintanilla Rosales (20)

Presentación de Moviles
Presentación de MovilesPresentación de Moviles
Presentación de Moviles
 
Clase iv
Clase ivClase iv
Clase iv
 
Clase III
Clase IIIClase III
Clase III
 
Clase ii
Clase iiClase ii
Clase ii
 
Clase I
Clase IClase I
Clase I
 
Clase xiv
Clase xivClase xiv
Clase xiv
 
Clase xiii
Clase xiiiClase xiii
Clase xiii
 
Clase xii
Clase xiiClase xii
Clase xii
 
Clase xi
Clase xiClase xi
Clase xi
 
Clase x
Clase xClase x
Clase x
 
Clase IX
Clase IXClase IX
Clase IX
 
Clase vii
Clase viiClase vii
Clase vii
 
Clase vi
Clase viClase vi
Clase vi
 
Clase v
Clase vClase v
Clase v
 
Clase iv
Clase ivClase iv
Clase iv
 
Clase 3
Clase 3Clase 3
Clase 3
 
Clase ii
Clase iiClase ii
Clase ii
 
Programación de sistemas
Programación de sistemasProgramación de sistemas
Programación de sistemas
 
Excel iii
Excel iiiExcel iii
Excel iii
 
Excel ii
Excel iiExcel ii
Excel ii
 

Clase viii

  • 1. Lic. José Angel Quintanilla Rosales Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno. [Geoffrey James, El Tao de la Programación]
  • 2.  Hace referencia a la superclase del objeto  Muy útil al redefinir métodos  En los constructores, para seleccionar el constructor de la superclase
  • 3. public class Prueba { public void metodo() { System.out.println(“Hola”); } } public class Subprueba extends Prueba { public void metodo() { super.metodo(); // Accede a la superclase System.out.println(“Adios”); } }
  • 4.  Contrato que una clase (la que implementa la interfaz) se compromete a cumplir  Seguro para los clientes, que saben qué comportamiento se encontrarán en las clases que implementan la interfaz
  • 5.  Las interfaces definen constantes y métodos que usarán e implementarán las clases  Las interfaces NO DEFINEN el cuerpo del método, sólo su firma (nombre y argumentos)
  • 7.  Las interfaces también tienen jerarquía  Una interfaz puede extender de otra interfaz  Hereda la definición de los métodos y las constantes  La subinterfaz puede añadir nuevos métodos y constantes
  • 8.  Una clase implementa una interfaz  public class Clase implements Interfaz  La clase DEBE dar cuerpo a todos los métodos definidos en la interfaz  Si no, error de compilación
  • 9.  Puede haber variables con tipo de la interfaz  Interfaz a;  Pero no se puede instancia  a = new Interfaz() // ERROR  Se deben asignar objetos de clases que implementan la interfaz
  • 10.
  • 11.
  • 12.
  • 13.  Subclases: organización funcional  Paquetes: organización administrativa  Agrupación de clases a juicio del desarrollador  Jerarquía: javax.swing.table
  • 14.  Para definir a qué paquete pertenece una clase, usar la sentencia package  Separamos subpaquetes con puntos package cursillo.2004.ejemplos public class Ejemplo extends Padre { .... }
  • 15.  Para usar clases de otros paquetes  Referencia explícita  cursillo.2004.ejemplos.Ejemplo1 a;  Importación  import cursillo.2004.ejemplos.Ejemplo1 Ejemplo1 a;
  • 16.  Se pueden importar clases específicas  import cursillo.2004.ejemplos.Ejemplo1  O todas las clases de un paquete  import cursillo.2004.ejemplos.*  El asterisco no importa subpaquetes  Por defecto, se importa java.lang.*
  • 17.  Declarar el objeto  <clase> <identificador>  Bicicleta miBicicleta;  Pueden usarse clases o interfaces  Las interfaces no se pueden instanciar  Se instancia una clase que la implemente
  • 18.  La variable aún no apunta a ningún objeto  Instanciar la clase  <identificador> = new <clase>(<args>)  miBicicleta = new Bicicleta();  Se indica el constructor a emplear  Inicializa la clase
  • 19. ¿Qué hay mal en este programa? public class SomethingIsWrong { public static void main(String[] args) { Rectangle myRect; myRect.width = 40; myRect.height = 50; System.out.println("myRect's area is " + myRect.area()); } } NUNCA SE CREA UN OBJETO. myRect no apunta a nada.
  • 20.  Acceso a variables de instancia: <nombre>.<atributo>  int cambio = miCoche.marcha  Modificar variables de instancia  miCoche.marcha = 2;
  • 21.  Acceso a variables de instancia: <nombre>.<atributo>  int cambio = miCoche.numRuedas  Mediante la clase <clase>.<atributo>  int ruedas = Coche.numRuedas
  • 22.  Acceso a métodos de instancia: <nombre>.<método>(argumentos)  miCoche.subirMarcha();  miCoche.setMarcha(2);  miCoche.getMatrícula();
  • 23.  Invocación de métodos de clase <nombre>.<método>(argurmentos)  miCoche.getNumRuedas();  Mediante la clase <clase>.<método>(argumentos)  Coche.getNumRuedas()
  • 24.  Pueden existir varios métodos con el mismo nombre, pero diferentes argumentos  En tiempo de compilación se elige el método a invocar por los parámetros reales proporcionados Bicicleta
  • 25.  Método especial que se invoca cuando alguien crea un objeto de la clase  <acceso><nombre_clase>(<args>)  Mismo nombre que la clase  No tiene tipo de retorno  Sirve para inicializar el objeto
  • 26.  Si no se especifica ningún constructor, Java crea el constructor vacío  public Clase() {;}  Se pueden sobrecargar los constructores para aceptar diferentes tipos de argumentos Bicicleta
  • 27.  Se puede invocar desde el constructor a otro constructor de la clase  this(argumentos)  Se puede invocar al constructor de la superclase para configurar las variables heredades  super(argumentos)  Deben ser la primera instrucción
  • 28.  Con Java no hay que liberar la memoria explícitamente  El recolector de basura se encarga  Subsistema que mira qué objetos no están referenciados para eliminarlos  Ninguna variable apunta al objeto