SlideShare una empresa de Scribd logo
1 de 15
QUE ES UNA CLASE ABSTRACTA
 Es una clase que no se
 puede instanciar, se usa
    únicamente para
    definir subclases.
CASOS DE UTILIZACION
 Cuando hay un conjunto de clases que comparten las
  mismas operaciones pero difieren en su implementación.

 Cuando un marco de aplicación o conjunto de clases
  relacionadas contiene parte de lo que debe realizarse,
  mientras que la otra parte la debe proporcionar el usuario.

 Para impedir que el usuario cree objetos de una cierta clase.
UTILIZACION DE LA CLASE ABSTRACTA
             EN JAVA
Java incluye interfaces, un tipo abstracto que
    puede contener cabeceras de métodos y
     constantes (variables finales), pero no
 implementación de métodos o miembros de
 datos no-finales. Una clase abstracta en Java
    puede implementar interfaces y definir
  algunas cabeceras de método al tiempo que
      mantiene otros métodos abstractos.
CUANDO ES UNA CLASE
        ABSTRACTA
Es cuando uno de sus métodos
 no tiene implementación (en
  java, el método abstracto se
     etiqueta con la palabra
      reservada abstract).
CUANDO SE UTILIZAN LAS CLASES
        ABSTRACTAS
Cuando deseamos definir una
  abstracción que englobe
 objetos de distintos tipos y
   queremos hacer uso del
       polimorfismo.
EJEMPLO
                  Figura
             #X
             #Y
             +área()




 Cuadrado                    Circulo
-Lado                      -Radio
+área()                    +área()
Public abstract class Figura
{
  protected double x;
  protected double y;
  public Figura (double x, double y)
  {
    this. x = x;
    this. y = y;
  }
  public abstract double área ();
}

Public class Circulo extends Figura
{
  prívate double radio;
  public Circulo(double x, double y, double radio)
  {
        súper (x,y);
        this.radio = radio;
  }

    public double área ()
    {
       return Math.PI*radio*radio;
    }
}
Public class Cuadrado extends Figura
{
  prívate double lado;
  public Cuadrado ( double x, double y, double lado)
  {
        súper (x,y);
        this.lado = lado;
  }

    public double área ()
    {
      return lado*lado;
    }
}
INTERFAZ
Una interfaz es una clase completamente abstracta.
                        Figura


                       +área()




      Cuadrado                            Circulo
      -lado                               -radio
      +área()                             +área()
Public interface Figura
{
   public double área ();
}
En java, las interfaces se declaran con la palabra reservada interface de

    manera similar a como se declaran las clases abstractas.

 en la declaración de una interfaz, lo único que puede aparecer son
    declaraciones de métodos (su nombre y signatura, sin
    implementación) y definiciones de constantes simbólicas.

 Una interfaz no encapsula datos, solo define cuales son los métodos
    que han de implementar los objetos de aquellas clases que
    implementan la interfaz.

 En java, para indicar que una clase implementa una interfaz se utiliza la
    palabra reservada implements.

 la clase debe entonces implementar todos los métodos definidos por la
    interfaz o declararse, a su vez, como una clase abstracta (lo que no suele
    ser especialmente útil):

abstract class SinArea implements Figura
{
}
HERENCIA MULTIPLE DE INTERFACES
una clase puede implementar varias
 interfaces simultáneamente, pese a
  que, en java, una clase solo puede
heredar de otra clase (herencia simple
  de implementación, múltiples de
              interfaces).
EJEMPLO
                          Figura                Dibujable
Rotable


                        +área()                 +dibujar()
+rotar()




           Cuadrado                 Circulo
           -lado                   -radio
           +área()
                                   +área()
           +dibujar()
                                   +dibujar()
           +rotar()
Public abstract Figura
{
   public abstract double área ();
}

Public interface Dibujable
{
   public void Dibujar ();
}
Public interface Rotable
{
   public void rotar (double grados);
}

Public class Circulo extends Figura
                     implement Dibujable

Public class Cuadrado extends Figura
                       implement Dibujable, rotable

Más contenido relacionado

La actualidad más candente

clase demostrativa
clase demostrativaclase demostrativa
clase demostrativajpamactivo
 
Conceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosConceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosMarisol Henao
 
Lab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSLab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSIng. Electrónica xD
 
Programación Open GL ES en iPhone e iPod touch
Programación Open GL ES en iPhone e iPod touchProgramación Open GL ES en iPhone e iPod touch
Programación Open GL ES en iPhone e iPod touchBlogintosh
 
Correccion De La Evaluacion Periodica Del Segundo Periodo
Correccion De La Evaluacion Periodica Del Segundo Periodo Correccion De La Evaluacion Periodica Del Segundo Periodo
Correccion De La Evaluacion Periodica Del Segundo Periodo jcardenasperdomo
 
Introducción a la programación y la informática. Tema 4
Introducción a la programación y la informática. Tema 4Introducción a la programación y la informática. Tema 4
Introducción a la programación y la informática. Tema 4Andres Garcia Garcia
 
Gráficos en matlab eda
Gráficos en matlab edaGráficos en matlab eda
Gráficos en matlab edaJhonny Rosas
 

La actualidad más candente (13)

Java modografico
Java modograficoJava modografico
Java modografico
 
clase demostrativa
clase demostrativaclase demostrativa
clase demostrativa
 
Clase ed v7
Clase ed v7Clase ed v7
Clase ed v7
 
Conceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosConceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetos
 
Matlab caudraticas2
Matlab caudraticas2Matlab caudraticas2
Matlab caudraticas2
 
Taller 1 3
Taller 1 3Taller 1 3
Taller 1 3
 
Lab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSLab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECS
 
Array en java
Array en javaArray en java
Array en java
 
Programación Open GL ES en iPhone e iPod touch
Programación Open GL ES en iPhone e iPod touchProgramación Open GL ES en iPhone e iPod touch
Programación Open GL ES en iPhone e iPod touch
 
Correccion De La Evaluacion Periodica Del Segundo Periodo
Correccion De La Evaluacion Periodica Del Segundo Periodo Correccion De La Evaluacion Periodica Del Segundo Periodo
Correccion De La Evaluacion Periodica Del Segundo Periodo
 
Tema3 p2%20
Tema3 p2%20Tema3 p2%20
Tema3 p2%20
 
Introducción a la programación y la informática. Tema 4
Introducción a la programación y la informática. Tema 4Introducción a la programación y la informática. Tema 4
Introducción a la programación y la informática. Tema 4
 
Gráficos en matlab eda
Gráficos en matlab edaGráficos en matlab eda
Gráficos en matlab eda
 

Destacado

Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractascodigosyalgomas
 

Destacado (6)

Alejandro Merizalde
Alejandro MerizaldeAlejandro Merizalde
Alejandro Merizalde
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en javaClases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractas
 

Similar a Clases Abstractas Pc

Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Kositha Jimhiz G
 
Tema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazTema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazRobert Wolf
 
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
 
instrumentos de trabajo
instrumentos de trabajoinstrumentos de trabajo
instrumentos de trabajojorpical
 
Herencia_POO.ppt
Herencia_POO.pptHerencia_POO.ppt
Herencia_POO.pptAFGV96
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfacesEduardo Lapo
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoojorg_marq
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnetjhordy2000
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en javaClases abstractas e interfaces en java
Clases abstractas e interfaces en javajcalmeida2
 
Diseño de la logica
Diseño de la logicaDiseño de la logica
Diseño de la logicaanych27
 

Similar a Clases Abstractas Pc (20)

Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
 
Tema5
Tema5Tema5
Tema5
 
Tema2
Tema2Tema2
Tema2
 
Tema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfazTema 10 clase abstractas e interfaz
Tema 10 clase abstractas e interfaz
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en java Clases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
instrumentos de trabajo
instrumentos de trabajoinstrumentos de trabajo
instrumentos de trabajo
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Herencia_POO.ppt
Herencia_POO.pptHerencia_POO.ppt
Herencia_POO.ppt
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
 
Clase 2
Clase 2 Clase 2
Clase 2
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
Semana 3 Herencia en Java
Semana 3   Herencia en JavaSemana 3   Herencia en Java
Semana 3 Herencia en Java
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Clasesyobjetos
ClasesyobjetosClasesyobjetos
Clasesyobjetos
 
Clases abstractas e interfaces en java
Clases abstractas e interfaces en javaClases abstractas e interfaces en java
Clases abstractas e interfaces en java
 
Diseño de la logica
Diseño de la logicaDiseño de la logica
Diseño de la logica
 
17533924.ppt
17533924.ppt17533924.ppt
17533924.ppt
 

Clases Abstractas Pc

  • 1.
  • 2. QUE ES UNA CLASE ABSTRACTA Es una clase que no se puede instanciar, se usa únicamente para definir subclases.
  • 3. CASOS DE UTILIZACION  Cuando hay un conjunto de clases que comparten las mismas operaciones pero difieren en su implementación.  Cuando un marco de aplicación o conjunto de clases relacionadas contiene parte de lo que debe realizarse, mientras que la otra parte la debe proporcionar el usuario.  Para impedir que el usuario cree objetos de una cierta clase.
  • 4. UTILIZACION DE LA CLASE ABSTRACTA EN JAVA Java incluye interfaces, un tipo abstracto que puede contener cabeceras de métodos y constantes (variables finales), pero no implementación de métodos o miembros de datos no-finales. Una clase abstracta en Java puede implementar interfaces y definir algunas cabeceras de método al tiempo que mantiene otros métodos abstractos.
  • 5. CUANDO ES UNA CLASE ABSTRACTA Es cuando uno de sus métodos no tiene implementación (en java, el método abstracto se etiqueta con la palabra reservada abstract).
  • 6. CUANDO SE UTILIZAN LAS CLASES ABSTRACTAS Cuando deseamos definir una abstracción que englobe objetos de distintos tipos y queremos hacer uso del polimorfismo.
  • 7. EJEMPLO Figura #X #Y +área() Cuadrado Circulo -Lado -Radio +área() +área()
  • 8. Public abstract class Figura { protected double x; protected double y; public Figura (double x, double y) { this. x = x; this. y = y; } public abstract double área (); } Public class Circulo extends Figura { prívate double radio; public Circulo(double x, double y, double radio) { súper (x,y); this.radio = radio; } public double área () { return Math.PI*radio*radio; } }
  • 9. Public class Cuadrado extends Figura { prívate double lado; public Cuadrado ( double x, double y, double lado) { súper (x,y); this.lado = lado; } public double área () { return lado*lado; } }
  • 10. INTERFAZ Una interfaz es una clase completamente abstracta. Figura +área() Cuadrado Circulo -lado -radio +área() +área()
  • 11. Public interface Figura { public double área (); }
  • 12. En java, las interfaces se declaran con la palabra reservada interface de  manera similar a como se declaran las clases abstractas.  en la declaración de una interfaz, lo único que puede aparecer son declaraciones de métodos (su nombre y signatura, sin implementación) y definiciones de constantes simbólicas.  Una interfaz no encapsula datos, solo define cuales son los métodos que han de implementar los objetos de aquellas clases que implementan la interfaz.  En java, para indicar que una clase implementa una interfaz se utiliza la palabra reservada implements.  la clase debe entonces implementar todos los métodos definidos por la interfaz o declararse, a su vez, como una clase abstracta (lo que no suele ser especialmente útil): abstract class SinArea implements Figura { }
  • 13. HERENCIA MULTIPLE DE INTERFACES una clase puede implementar varias interfaces simultáneamente, pese a que, en java, una clase solo puede heredar de otra clase (herencia simple de implementación, múltiples de interfaces).
  • 14. EJEMPLO Figura Dibujable Rotable +área() +dibujar() +rotar() Cuadrado Circulo -lado -radio +área() +área() +dibujar() +dibujar() +rotar()
  • 15. Public abstract Figura { public abstract double área (); } Public interface Dibujable { public void Dibujar (); } Public interface Rotable { public void rotar (double grados); } Public class Circulo extends Figura implement Dibujable Public class Cuadrado extends Figura implement Dibujable, rotable