SlideShare une entreprise Scribd logo
1  sur  14
ESCUELA POLITÉCNICA DEL
             E J É RC I TO
T E M A : C L A S E S A B S T R AC TA S /
           I N T E R FAC E S

                Alumno        :    Juan Paredes

               Laboratorio   : E-6                .

               Profesor      : Ing. Paulo Guerra.

               Carrera       : Ingeniería Mecánica.
CLASES ABSTRACTAS

 Clases cuya descripción es incompleta. Una clase abstracta declara
métodos, pero no tiene que implementarlos.
 No proporcionan la implementación de todos sus métodos.
   * Los métodos no implementados se declaran como abstract.
 Una clase con un método abstracto debe declararse como clase
abstracta.
   * Pero una clase también puede declararse como abstracta aunque no
tenga ningún método abstracto.
 Las subclases de una clase abstracta deben:
   * Sobrescribir todos los métodos abstractos de la superclase, o
    bien.
   * Ser declaradas como clases abstractas.
 Una clase abstracta no puede instanciarse.
   * No se pueden crear objetos de una clase abstracta.
 Una clase abstracta puede incluir variables y métodos no
abstractos.
 No se pueden definir constructores abstractos o métodos estáticos
abstractos.
Figura
                                         EJEMPLO
                Cuadrado
Triangulo

    Declaración de clases:                             public Triangulo (int ba, int al) { base=ba; altura=al; }

       public abstract class Figura {                  public double area() { return base*altura/2; }

            int x, y;                                   public void mostrarNombre() {
                                                        System.out.println(“triangulo”); }
            public void mostrarOrigen() {
                                                        }
            System.out.println("x= "+x+" y= "+y);}
                                                            public class Cuadrado extends Figura {
           public abstract double area(); // No tiene
                                                               protected int lado;
            implementación
                                                               public Cuadrado (int lado) { this.lado=lado; }
            public abstract double mostrarNombre();
                                                               public double area() { return lado*lado; }
       }
                                                               public void mostrarNombre() {
       public class Triangulo extends Figura {
                                                              System.out.println(“cuadrado”);}
           protected int base, altura;
                                                        }
PRUEBA CLASE ABSTRACTA
   (EJEMPLO -MAIN())
public class PruebaClaseAbstracta {
        public static void main(String args[ ] ) {
           Figura fig;
           Triangulo tri;
           Cuadrado cua;
           fig = new Figura(); // error no se puede instanciar una clase abstracta
           tri = new Triangulo(4,3);
           tri.mostrarOrigen();
           tri.mostrarNombre();
           fig = tri;
           fig.mostrarNombre();
               System.out.println("Area triangulo: "+fig.area());
           cua = new Cuadrado(5);
           fig = cua;
          System.out.println("Area cuadrado: "+fig.area());
        }
}
INTERFACES

 Sólo declaran comportamiento.

 Se utiliza la palabra clave « interface ».

 Por defecto todos sus métodos son públicos y abstractos .

    * No implementan el comportamiento.

 Por defecto todos sus atributos son públicos, constantes y de clase.

    * Por legibilidad normalmente los declaramos static y final.
 Permite simular algunos aspectos de la herencia múltiple.

   * Define un tipo de datos.

   * Posibilita el enlace dinámico.

 Otras clases pueden implementar un interfaz.

   * Cualquier clase que implemente un interfaz debe definir todos

     los métodos de dicho interfaz.

      - Debe proporcionar la implementación de dichos métodos.

   * Si la clase no proporciona la implementación para todos los

     métodos del interfaz debe ser declarada como abstracta.
DECLARACIÓN DE INTERFACES
  Sintaxis:
 interface NombreInterfaz{
       tipo static final NOMBRECONSTANTE1=valor;
       ………
       public tipoDevuelto nombreMetodo1 (listaParametros);
       ………
 }
       class Nombreclase implements NombreInterfaz1 [ … , NombreInterfaz2, …]{
         //declaracion de atributos y metodos de la clase
         … … …
         }
EJEMPLO
   public interface Nombrable {
                 static final boolean CIERTO = true;
                 public void mostrarNombre();
    }
        public class Elemento implements Nombrable {
            String nombre;
                public Elemento(String nom) {
                      nombre = nom; }
            // obligatorio implementar método mostrarNombre
            public void mostrarNombre(){
                 System.out.println("Nombre: "+nombre);
                 if (CIERTO)
                 System.out.println("Constante CIERTO ");
            }
}
USO DEL INTERFAZ CON
       ENLACE DINÁMICO
 public class PruebaInterfaz {

           public static void main(String args[]) {

                  Elemento elem;

                  Nombrable inter;

                 elem = new Elemento(“Luis");

                 elem.mostrarNombre();

          // una referencia a interfaz puede utilizarse con una instancia de una clase que lo implemente

                 inter = elem;

                 inter.mostrarNombre();

             }

    }
EXTENSIÓN DE INTERFACES
 No obstante un interface puede extender a varios interfaces a la vez.
   * Aquí la herencia múltiple no plantea problemas porque no se
     hereda código.
       interface ElementoOrdenado extends
       Comparable, Cloneable, java.io.Serializable{
       //mienbros y metodos propios del interfaz ElementoOdinario
       ...
       }
RESUMEN DE INTERFACES
        LAS INTERFACES
 Las interfaces sirven para:

 Declarar métodos que serán implementados por una o más clases.

 Determinar la interface de programación de un objeto, sin mostrar

   el cuerpo de la clase.

 Capturar similitudes entre clases no relacionadas, sin forzar una

   relación entre ellas.

 Describir objetos "tipo-función", que podrán ser utilizados como

   argumentos al invocar métodos sobre objetos.
COMPARACIÓN
Tipo            Class        Abstract Class Interface
Herencia        extends      extends        implements
                (simple)     (simple)       (multiple)
Instanciable    Si           No             No
Implementa      Métodos      Algún método   Nada
Datos           Se permite   Se permite     No se permite
“La única forma de hacer un gran trabajo es amar lo que se
hace” -Steve Jobs.

Contenu connexe

Tendances (20)

Tarea sesion 14
Tarea sesion 14Tarea sesion 14
Tarea sesion 14
 
Clase 11 De Septiembre 2009
Clase 11 De Septiembre 2009Clase 11 De Septiembre 2009
Clase 11 De Septiembre 2009
 
Estructuras de controlm
Estructuras de controlmEstructuras de controlm
Estructuras de controlm
 
Programación Java
Programación JavaProgramación Java
Programación Java
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
MéTodos Java
MéTodos JavaMéTodos Java
MéTodos Java
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Metodos Java
Metodos JavaMetodos Java
Metodos Java
 
Video 1 metodos y arreglos
Video 1 metodos y arreglosVideo 1 metodos y arreglos
Video 1 metodos y arreglos
 
Ap n° 4 rios,m. fernanda
Ap n° 4 rios,m. fernandaAp n° 4 rios,m. fernanda
Ap n° 4 rios,m. fernanda
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
5. Metodos Y Parametros
5.  Metodos Y Parametros5.  Metodos Y Parametros
5. Metodos Y Parametros
 
Laboratorio de polimorfismo
Laboratorio de  polimorfismoLaboratorio de  polimorfismo
Laboratorio de polimorfismo
 
Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
Laboratorio clase abstract
Laboratorio clase abstractLaboratorio clase abstract
Laboratorio clase abstract
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 

En vedette

07 el juego_cooperativo
07 el juego_cooperativo07 el juego_cooperativo
07 el juego_cooperativomilalopez123
 
Software libre (ricardo crespo pwp)
Software libre (ricardo crespo pwp)Software libre (ricardo crespo pwp)
Software libre (ricardo crespo pwp)Ricardo Crespo
 
Wald & Energie
Wald & EnergieWald & Energie
Wald & EnergieGreenFacts
 
Aplicaciones de google
Aplicaciones de googleAplicaciones de google
Aplicaciones de googleRicardo Crespo
 
ARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOS
ARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOSARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOS
ARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOSCésxr HN
 
HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...
HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...
HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...Johann HUMER
 
JKK - Jakobskreuzkraut Fotodokumentation und Hinweise
JKK - Jakobskreuzkraut Fotodokumentation und Hinweise JKK - Jakobskreuzkraut Fotodokumentation und Hinweise
JKK - Jakobskreuzkraut Fotodokumentation und Hinweise Johann HUMER
 
Exklusive Content Strategien für mehr Reichweite in Social Media
Exklusive Content Strategien für mehr Reichweite in Social MediaExklusive Content Strategien für mehr Reichweite in Social Media
Exklusive Content Strategien für mehr Reichweite in Social MediaBjörn Tantau
 

En vedette (20)

07 el juego_cooperativo
07 el juego_cooperativo07 el juego_cooperativo
07 el juego_cooperativo
 
Software libre (ricardo crespo pwp)
Software libre (ricardo crespo pwp)Software libre (ricardo crespo pwp)
Software libre (ricardo crespo pwp)
 
Wald & Energie
Wald & EnergieWald & Energie
Wald & Energie
 
Angeboten für Mädchen und junge Frauen
Angeboten für Mädchen und junge FrauenAngeboten für Mädchen und junge Frauen
Angeboten für Mädchen und junge Frauen
 
G321
G321G321
G321
 
Musterraumprogramm
MusterraumprogrammMusterraumprogramm
Musterraumprogramm
 
Aplicaciones de google
Aplicaciones de googleAplicaciones de google
Aplicaciones de google
 
Mi cumpleaños
Mi cumpleañosMi cumpleaños
Mi cumpleaños
 
Un nuevo papa...
Un nuevo papa...Un nuevo papa...
Un nuevo papa...
 
ARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOS
ARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOSARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOS
ARRENDAMIENTO PERU _ DESCARGAR LA PRESENTACION PARA VER LOS EFECTOS
 
HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...
HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...
HUMER WKK, Wasserkreuzkraut Fotodokumentation, Senecio aquaticus,Plakatkurzin...
 
JKK - Jakobskreuzkraut Fotodokumentation und Hinweise
JKK - Jakobskreuzkraut Fotodokumentation und Hinweise JKK - Jakobskreuzkraut Fotodokumentation und Hinweise
JKK - Jakobskreuzkraut Fotodokumentation und Hinweise
 
Sitios web
Sitios webSitios web
Sitios web
 
Sicherheit im Smart Grid
Sicherheit im Smart GridSicherheit im Smart Grid
Sicherheit im Smart Grid
 
Trends in der Rechnungslegung: XBRL
Trends in der Rechnungslegung: XBRL Trends in der Rechnungslegung: XBRL
Trends in der Rechnungslegung: XBRL
 
Exklusive Content Strategien für mehr Reichweite in Social Media
Exklusive Content Strategien für mehr Reichweite in Social MediaExklusive Content Strategien für mehr Reichweite in Social Media
Exklusive Content Strategien für mehr Reichweite in Social Media
 
Horta sud
Horta sudHorta sud
Horta sud
 
Aristoteles crisalida
Aristoteles crisalidaAristoteles crisalida
Aristoteles crisalida
 
Exposición embarazo
Exposición embarazoExposición embarazo
Exposición embarazo
 
Api (1)
Api (1)Api (1)
Api (1)
 

Similaire à Clases abstractas

Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Kositha Jimhiz G
 
Clases Abstractas Pc
Clases Abstractas PcClases Abstractas Pc
Clases Abstractas Pcguest28ee92
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Nathy_A
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfacesEduardo Lapo
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnetjhordy2000
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad iiIrving Trigo
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad iiIrving Trigo
 
POO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfPOO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfNone
 
Clases abstractas interfaces
Clases abstractas interfacesClases abstractas interfaces
Clases abstractas interfacesAlexitoPeralta
 

Similaire à Clases abstractas (20)

Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
 
Clases Abstractas Pc
Clases Abstractas PcClases Abstractas Pc
Clases Abstractas Pc
 
17533924.ppt
17533924.ppt17533924.ppt
17533924.ppt
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Clases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
interfaces.pdf
interfaces.pdfinterfaces.pdf
interfaces.pdf
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Tema2
Tema2Tema2
Tema2
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Semana 3 Herencia en Java
Semana 3   Herencia en JavaSemana 3   Herencia en Java
Semana 3 Herencia en Java
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad ii
 
Programacion 3 unidad ii
Programacion 3   unidad iiProgramacion 3   unidad ii
Programacion 3 unidad ii
 
POO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfPOO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdf
 
Poo 3-herencia-10-11
Poo 3-herencia-10-11Poo 3-herencia-10-11
Poo 3-herencia-10-11
 
Clases abstractas interfaces
Clases abstractas interfacesClases abstractas interfaces
Clases abstractas interfaces
 

Dernier

proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 

Dernier (20)

proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 

Clases abstractas

  • 1. ESCUELA POLITÉCNICA DEL E J É RC I TO T E M A : C L A S E S A B S T R AC TA S / I N T E R FAC E S Alumno : Juan Paredes Laboratorio : E-6 . Profesor : Ing. Paulo Guerra. Carrera : Ingeniería Mecánica.
  • 2. CLASES ABSTRACTAS  Clases cuya descripción es incompleta. Una clase abstracta declara métodos, pero no tiene que implementarlos.  No proporcionan la implementación de todos sus métodos. * Los métodos no implementados se declaran como abstract.  Una clase con un método abstracto debe declararse como clase abstracta. * Pero una clase también puede declararse como abstracta aunque no tenga ningún método abstracto.
  • 3.  Las subclases de una clase abstracta deben: * Sobrescribir todos los métodos abstractos de la superclase, o bien. * Ser declaradas como clases abstractas.  Una clase abstracta no puede instanciarse. * No se pueden crear objetos de una clase abstracta.  Una clase abstracta puede incluir variables y métodos no abstractos.  No se pueden definir constructores abstractos o métodos estáticos abstractos.
  • 4. Figura EJEMPLO Cuadrado Triangulo  Declaración de clases: public Triangulo (int ba, int al) { base=ba; altura=al; }  public abstract class Figura { public double area() { return base*altura/2; } int x, y; public void mostrarNombre() { System.out.println(“triangulo”); } public void mostrarOrigen() { } System.out.println("x= "+x+" y= "+y);}  public class Cuadrado extends Figura { public abstract double area(); // No tiene protected int lado; implementación public Cuadrado (int lado) { this.lado=lado; } public abstract double mostrarNombre(); public double area() { return lado*lado; } } public void mostrarNombre() {  public class Triangulo extends Figura { System.out.println(“cuadrado”);} protected int base, altura; }
  • 5. PRUEBA CLASE ABSTRACTA (EJEMPLO -MAIN()) public class PruebaClaseAbstracta { public static void main(String args[ ] ) { Figura fig; Triangulo tri; Cuadrado cua; fig = new Figura(); // error no se puede instanciar una clase abstracta tri = new Triangulo(4,3); tri.mostrarOrigen(); tri.mostrarNombre(); fig = tri; fig.mostrarNombre(); System.out.println("Area triangulo: "+fig.area()); cua = new Cuadrado(5); fig = cua; System.out.println("Area cuadrado: "+fig.area()); } }
  • 6. INTERFACES  Sólo declaran comportamiento.  Se utiliza la palabra clave « interface ».  Por defecto todos sus métodos son públicos y abstractos . * No implementan el comportamiento.  Por defecto todos sus atributos son públicos, constantes y de clase. * Por legibilidad normalmente los declaramos static y final.
  • 7.  Permite simular algunos aspectos de la herencia múltiple. * Define un tipo de datos. * Posibilita el enlace dinámico.  Otras clases pueden implementar un interfaz. * Cualquier clase que implemente un interfaz debe definir todos los métodos de dicho interfaz. - Debe proporcionar la implementación de dichos métodos. * Si la clase no proporciona la implementación para todos los métodos del interfaz debe ser declarada como abstracta.
  • 8. DECLARACIÓN DE INTERFACES  Sintaxis: interface NombreInterfaz{ tipo static final NOMBRECONSTANTE1=valor; ……… public tipoDevuelto nombreMetodo1 (listaParametros); ……… } class Nombreclase implements NombreInterfaz1 [ … , NombreInterfaz2, …]{ //declaracion de atributos y metodos de la clase … … … }
  • 9. EJEMPLO  public interface Nombrable { static final boolean CIERTO = true; public void mostrarNombre(); } public class Elemento implements Nombrable { String nombre; public Elemento(String nom) { nombre = nom; } // obligatorio implementar método mostrarNombre public void mostrarNombre(){ System.out.println("Nombre: "+nombre); if (CIERTO) System.out.println("Constante CIERTO "); } }
  • 10. USO DEL INTERFAZ CON ENLACE DINÁMICO  public class PruebaInterfaz { public static void main(String args[]) { Elemento elem; Nombrable inter; elem = new Elemento(“Luis"); elem.mostrarNombre(); // una referencia a interfaz puede utilizarse con una instancia de una clase que lo implemente inter = elem; inter.mostrarNombre(); } }
  • 11. EXTENSIÓN DE INTERFACES  No obstante un interface puede extender a varios interfaces a la vez. * Aquí la herencia múltiple no plantea problemas porque no se hereda código. interface ElementoOrdenado extends Comparable, Cloneable, java.io.Serializable{ //mienbros y metodos propios del interfaz ElementoOdinario ... }
  • 12. RESUMEN DE INTERFACES LAS INTERFACES  Las interfaces sirven para:  Declarar métodos que serán implementados por una o más clases.  Determinar la interface de programación de un objeto, sin mostrar el cuerpo de la clase.  Capturar similitudes entre clases no relacionadas, sin forzar una relación entre ellas.  Describir objetos "tipo-función", que podrán ser utilizados como argumentos al invocar métodos sobre objetos.
  • 13. COMPARACIÓN Tipo Class Abstract Class Interface Herencia extends extends implements (simple) (simple) (multiple) Instanciable Si No No Implementa Métodos Algún método Nada Datos Se permite Se permite No se permite
  • 14. “La única forma de hacer un gran trabajo es amar lo que se hace” -Steve Jobs.