Clases Abstractas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Nombre: Sudario Castro Geovanny Joel

Curso: 2-7
Fecha: 11/2/2023

Clases abstractas e interfaces


Clases abstractas
Una clase abstracta…es una clase que no se puede instanciar se usa únicamente para definir
subclases

¿Cuándo es una clase abstracta?


En cuanto uno de sus métodos no tiene implementación (en Java, elmétodo abstracto se
etiqueta con la palabra reservada abstract).

¿Cuándo se utilizan clases abstractas?


Cuando deseamos definir una abstracción que englobe objetos dedistintos tipos y queremos
hacer uso del polimorfismo.

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 area ();
}

public class Circulo extends Figura


{
private double radio;
public Circulo (double x, double y, double radio)
{
super(x,y);
this.radio = radio;
}
public double area ()
{
return Math.PI*radio*radio;
}
}

public class Cuadrado extends Figura


{
private double lado;
public Cuadrado (double x, double y, double lado)
{
super(x,y);
this.lado = lado;
}
public double area ()
{
return lado*lado;
}
}

Interfaces
Una interfaz es una clase completamente abstracta(una clase sin implementación)
En el ejemplo anterior, si no estuviésemos interesados en conocer laposición de una
Figura, podríamos eliminar por completo su implementación y convertir Figuraen una
interfaz:

public interface Figura


{
public double area ();
}

En Java, las interfaces se declaran con la palabra reservada interface de manera


similar a como se declaran las clasesabstractas.

En la declaración de una interfaz, lo único que puede aparecer sondeclaraciones


de métodos (su nombre y signatura, sin su implementación) y definiciones de
constantes simbólicas.

Una interfaz no encapsula datos, sólo define cuáles son los métodosque han de
implementar los objetos de aquellas clases que implementen la interfaz.

public class Circulo implements Figura


{
private double radio;

public Circulo (double radio)


{
this.radio = radio;
}

public double area ()


{
return Math.PI*radio*radio;
}
}

public class Cuadrado implements Figura


{
private double lado;

public Cuadrado (double lado)


{
this.lado = lado;
}

public double area ()


{
return lado*lado;
}
}

En Java, para indicar que una clase implementa una interfaz seutiliza la palabra
reservada implements.

La clase debe entonces implementar todos los métodos definidospor la interfaz


o declararse, a su vez, como una clase abstracta (lo que no suele ser especialmente
útil):

abstract class SinArea implements Figura


{
}
Herencia múltiple de interfaces
Una clase puede implementar varios interfaces simultáneamente,pese a que, en Java,
una clase sólo puede heredar de otra clase (herencia simple de implementación,
múltiple de interfaces).
public abstract class Figura
{
public abstract double area ();
}

public interface Dibujable


{
public void dibujar ();
}

public interface Rotable


{
public void rotar (double grados);
}

public class Circulo extends Figura


implements Dibujable

public class Cuadrado extends Figura
implements Dibujable, Rotable

Arreglos de objetos y colecciones.


En Java, los arreglos de objetos son estructuras de datos que permiten almacenar múltiples
objetos de un mismo tipo. Un arreglo es una forma de organizar y acceder a datos de
manera secuencial. Por ejemplo, si deseas almacenar una lista de estudiantes, puedes crear
un arreglo de objetos de tipo Estudiante.

Las colecciones en Java son estructuras de datos similares a los arreglos, pero más flexibles
y con más funcionalidades. Las colecciones en Java son objetos que implementan interfaces
que proporcionan un conjunto de métodos para trabajar con los datos almacenados en ellas.
Las colecciones incluyen clases como ArrayList, HashMap, LinkedList, entre otras.

A diferencia de los arreglos, las colecciones no tienen un tamaño fijo y permiten agregar,
eliminar y acceder a elementos de manera más eficiente. Además, las colecciones son más
flexibles que los arreglos, ya que permiten trabajar con elementos de diferentes tipos.

En resumen, los arreglos son estructuras de datos simples y estáticas en Java, mientras que
las colecciones son estructuras de datos más complejas y dinámicas que ofrecen más
funcionalidades

También podría gustarte