1
00:00:10,770 --> 00:00:15,270
Hola te saluda Ubaldo Acosta bienvenidos nuevamente.

2
00:00:15,270 --> 00:00:18,520
Espero que estén listos para comenzar con esta elección.

3
00:00:18,540 --> 00:00:23,880
A continuación vamos a estudiar el tema de clases abstractas en Java están listos.

4
00:00:23,970 --> 00:00:24,450
Vamos

5
00:00:28,020 --> 00:00:35,860
clases abstractas en Java en esta elección vamos a estudiar el tema de clases abstractas en el ejemplo

6
00:00:35,860 --> 00:00:42,910
mostrado el método dibujar de la clase padre figura geométrica no tiene sentido que se dibuje debido

7
00:00:42,970 --> 00:00:49,540
a que se tiene que especificar qué tipo de figura geométrica es la que se va a dibujar y esto lo sabremos

8
00:00:49,630 --> 00:00:55,230
en alguna de las subclases como puede ser rectángulo cuadrado etc..

9
00:00:55,450 --> 00:01:01,870
La subclase rectángulo es la clase responsable de implementar la funcionalidad del método dibujar heredado

10
00:01:01,870 --> 00:01:09,940
de la clase padre y entonces ya tiene sentido agregar un comportamiento al método dibujar una clase

11
00:01:09,940 --> 00:01:11,850
contiene un método abstracto.

12
00:01:11,920 --> 00:01:19,720
La clase se debe declarar también como clase abstracta esto es una regla del compilador de Java una

13
00:01:19,720 --> 00:01:25,960
clase abstracta puede contener métodos abstractos pero también métodos no abstractos.

14
00:01:25,960 --> 00:01:31,520
Además un método abstracto no tiene cuerpo y sólo termina con punto y coma.

15
00:01:31,690 --> 00:01:37,900
De esta manera un método abstracto sólo define la firma del método pero no agrega ningún comportamiento

16
00:01:38,440 --> 00:01:46,060
y son las clases hijas las que se encargan de implementar este método es decir agregar algún comportamiento

17
00:01:46,960 --> 00:01:49,460
de alguna manera es como la escritura.

18
00:01:49,480 --> 00:01:55,570
Sin embargo debido a que en el método padre no se ha definido ningún comportamiento en el método abstracto

19
00:01:56,080 --> 00:01:59,350
entonces no se dice que la clase fija sobre escribe.

20
00:01:59,350 --> 00:02:02,140
El método heredado sino que lo implementa

21
00:02:06,530 --> 00:02:08,510
restricciones de las clases abstractas

22
00:02:11,830 --> 00:02:14,980
una clase abstracta no se puede instancias.

23
00:02:15,010 --> 00:02:22,000
Esto es debido a que algo abstracto no puede materializarse en un objeto y este mismo concepto aplica

24
00:02:22,000 --> 00:02:29,320
para las clases abstractas en Java lo que sí podemos hacer es crear variables de tipo de la clase abstracta

25
00:02:29,590 --> 00:02:36,850
que almacenen referencias a sus clases y así llamar a los métodos en común entre la clase padre y la

26
00:02:36,850 --> 00:02:38,200
subclase.

27
00:02:38,200 --> 00:02:44,710
Por ejemplo el método de dibujar esto es muy similar al concepto de polimorfismo que hemos estudiado

28
00:02:44,710 --> 00:02:52,150
anteriormente si asignamos una referencia de un objeto rectángulo es decir una subclase a una variable

29
00:02:52,150 --> 00:02:59,530
de tipo figura geométrica es decir la clase abstracta padre entonces aplica en el mismo diagrama de

30
00:02:59,530 --> 00:03:05,950
dona que estudiamos en la elección de polimorfismo y por lo tanto el método que se ejecutará será el

31
00:03:05,950 --> 00:03:13,820
método implementado por la subclase es decir el método de dibujar definido por la clase rectángulo así

32
00:03:13,820 --> 00:03:20,210
que las mismas reglas del polimorfismo aplican en el caso de las clases abstractas y por lo tanto podemos

33
00:03:20,210 --> 00:03:26,330
seguir aprovechando los tipos más genéricos como es un tipo de clase abstracta y asignar referencias

34
00:03:26,330 --> 00:03:32,960
de objetos de clases hijas y así crear métodos más genéricos que utilicen y apliquen el concepto de

35
00:03:32,960 --> 00:03:34,990
polimorfismo.

36
00:03:35,130 --> 00:03:40,380
A continuación vamos a crear un ejercicio para poner en práctica el concepto de clases abstractas en

37
00:03:40,380 --> 00:03:40,800
Java.
