Está en la página 1de 11

Clases

Abstractas
TU LOGO
AQUÍ

INTEGRANTES
Manuel Esteban Cruz

Juan Sebastian Salas

Sofia Polanco........

Santiago Martínez
Introducción

La abstracción es un proceso que oculta los


detalles de implementación y permite al usuario
concentrarse en la funcionalidad. Java, uno de los
lenguajes de programación más utilizados,
aprovecha este concepto a través de las Clases
Abstractas. Estas clases son una herramienta
poderosa para crear una base común y uniforme
para otras clases relacionadas.
Caracteristicas

Una clase abstracta en Java es una clase que no puede ser


instanciada directamente, es decir, no puedes crear un objeto
de una clase abstracta.

Está diseñada para ser extendida por otras clases.

Puede incluir métodos abstractos (sin cuerpo) y métodos no


abstractos (con cuerpo).

Proporciona una base para que las subclases extiendan e


implementen los métodos abstractos, asegurando así un cierto
nivel de uniformidad en la interfaz de las clases relacionadas.
COMO FUNCIONA

funciona por medio de metodos abstractos y metodos concretos, estos


metodos estan dentro de la clase abstracta. los metodos abstractos son los
metodos que no tienen una implementacion y deben ser implementados
por las clases que heredan de la clase abstracta.. por otro lado, los
metodos concretos si tienen un implementacion y no es necesario que
sean implementados nuevamente por las clases que heredan de la clase
abstracta.
EJEMPLO
abstract class Animal {
// Método abstracto
public abstract void hacerRuido();

// Método concreto
public void dormir() {
System.out.println("El animal está
durmiendo.");
}
}

class Perro extends Animal {


// Implementación del método
abstracto hacerRuido()
public void hacerRuido() {
System.out.println("Guau!");
}
}

class Gato extends Animal {


// Implementación del método
abstracto hacerRuido()
public void hacerRuido() {
System.out.println("Miau!");
}
VENTAJAS
Abstracción: Permiten definir métodos sin proporcionar una
implementación concreta, lo que ayuda a establecer una interfaz
común para clases derivadas.
Reutilización de código: Pueden contener métodos implementados
que pueden ser compartidos por varias subclases.
Forzando la implementación: Obligan a las subclases a proporcionar
implementaciones para los métodos abstractos, lo que garantiza
consistencia en la implementación.
DESVENTAJAS

Limitación a una única herencia: En Java, una clase puede heredar de


una sola clase abstracta, lo que puede ser restrictivo en ciertos casos.
Complejidad: Pueden añadir complejidad al diseño si no se usan
adecuadamente, especialmente en sistemas grandes.
Rigidez en el diseño: Pueden hacer que el diseño sea más rígido
debido a la necesidad de prever y definir comportamientos comunes
en una clase abstracta desde el principio.
COMO DEFINIR UNA
CLASE Y UN METODO

En Java, se utiliza la palabra clave abstract para definir una clase

abstracta. Una clase abstracta puede tener tanto métodos abstractos

(sin implementación) como métodos concretos (con implementación).

Los métodos concretos en una clase abstracta ya tienen una implementación

y pueden ser llamados directamente desde las subclases sin necesidad de ser

implementados nuevamente.
INTERFACE VS CLASES
ABSTRACTAS
Mientras que las interfaces definen contratos que las
clases deben cumplir sin preocuparse por la
implementación concreta, las clases abstractas
proporcionan una base común para las clases derivadas
y pueden contener tanto métodos abstractos como
concretos, además de permitir la definición de variables
de instancia. La elección entre usar una interfaz o una
clase abstracta depende del diseño y los requisitos
específicos de tu aplicación.
GRACIAS POR
TU ATENCIÓN

También podría gustarte