1
00:00:11,060 --> 00:00:12,800
Hola Te saludo nuevamente.

2
00:00:12,800 --> 00:00:17,160
Ubal lacosta espero que estés listo para comenzar con esta elección.

3
00:00:17,720 --> 00:00:23,650
Vamos a estudiar a continuación el tema de alcance de variables en Java estás listo.

4
00:00:23,720 --> 00:00:24,200
Vamos

5
00:00:26,910 --> 00:00:33,800
palabra dice en ocasiones un método necesitas hacer referencia al objeto con el que estamos trabajando

6
00:00:33,860 --> 00:00:41,750
actualmente para esa tarea Java agregó la palabra reservada diz la palabra Diz es un operador el cual

7
00:00:41,750 --> 00:00:48,530
nos permite acceder al objeto actual la clase con la cual estamos trabajando y nos servirá entre otras

8
00:00:48,530 --> 00:00:53,470
cosas para acceder a los atributos o métodos de una clase.

9
00:00:53,480 --> 00:00:59,420
Con esto podemos hacer una diferencia entre los argumentos recibidos en un método y los atributos de

10
00:00:59,420 --> 00:01:00,170
una clase

11
00:01:03,200 --> 00:01:04,510
como podemos observar.

12
00:01:04,610 --> 00:01:12,140
Tenemos un código que tiene un atributo a y b también el constructor de la clase recibe dos argumentos

13
00:01:12,230 --> 00:01:19,720
llamados a hive para hacer la diferencia entre estas dos variables atributos de la clase y los argumentos

14
00:01:19,720 --> 00:01:21,400
recibidos en el método.

15
00:01:21,400 --> 00:01:24,910
Podemos utilizar la palabra Diz como sigue.

16
00:01:24,910 --> 00:01:30,910
Podemos observar que en el constructor estamos utilizando el operador dis para acceder a los atributos

17
00:01:30,910 --> 00:01:38,620
de la clase así que de esta manera el operador dis nos permite acceder a los atributos de nuestro objeto

18
00:01:39,070 --> 00:01:42,850
ya sea a los atributos o métodos de nuestro objeto.

19
00:01:42,850 --> 00:01:48,970
Como podemos observar para hacer diferencia entre los valores recibidos en el constructor y los atributos

20
00:01:48,970 --> 00:01:56,780
de la clase utilizamos el operador dis esto es sólo un ejemplo del uso del operador dis pero básicamente

21
00:01:56,930 --> 00:02:03,230
nos permite acceder a los atributos y métodos del objeto actual con el cual estamos trabajando.

22
00:02:03,230 --> 00:02:09,170
Esto puede ser un poco confuso al inicio ya que estamos trabajando con el código de nuestra clase es

23
00:02:09,170 --> 00:02:16,460
decir la plantilla y este código no se ejecutará hasta que hayamos creado un objeto y mandemos a llamar

24
00:02:16,520 --> 00:02:18,260
este constructor.

25
00:02:18,260 --> 00:02:25,040
Será en ese momento cuando enviemos los argumentos y el constructor lo reciba y los procese así que

26
00:02:25,040 --> 00:02:31,850
debemos acostumbrarnos a pensar en dos momentos la creación de nuestras clases o plantillas y la creación

27
00:02:31,850 --> 00:02:38,030
de nuestros objetos que será cuando realmente se ejecute el código que hemos programado en nuestras

28
00:02:38,030 --> 00:02:44,530
clases o plantillas aunque el uso del operador DIS en ocasiones parecerá redundante.

29
00:02:44,570 --> 00:02:50,000
Es una buena práctica el usarlo para hacer referencia a los atributos de la clase en la que estamos

30
00:02:50,000 --> 00:02:56,840
trabajando ya que al leer nuestro código rápidamente reconoceremos qué variables son atributos de una

31
00:02:56,840 --> 00:03:04,790
clase y cuáles no. Dentro de los constructores o métodos de una clase el operador dis hará siempre referencia

32
00:03:04,850 --> 00:03:11,210
al objeto que fue invocado si observamos el código tanto el argumento recibido como el atributo de la

33
00:03:11,210 --> 00:03:14,580
clase se llaman exactamente igual ambos.

34
00:03:14,720 --> 00:03:20,310
En este caso se llaman a tanto el atributo de la clase como el argumento recibido.

35
00:03:20,390 --> 00:03:26,090
Por lo tanto toma prioridad el argumento sobre el atributo de la clase.

36
00:03:26,120 --> 00:03:33,560
A esto se le conoce como ocultamiento del atributo de la clase y para resolver este problema basta con

37
00:03:33,560 --> 00:03:40,730
utilizar el operador dis antes de la variable del atributo de la clase tal como si accedíamos al atributo

38
00:03:40,730 --> 00:03:43,970
de una clase por medio del operador punto.

39
00:03:43,970 --> 00:03:51,500
De esta manera volvemos a acceder al atributo de la clase y el argumento ya no oculta a nuestro atributo

40
00:03:54,970 --> 00:04:02,150
alcance de una variable en Java tenemos distintos tipos de variables como son variables de clase y variables

41
00:04:02,150 --> 00:04:08,780
locales dependiendo de donde se defina la variable será la duración de la misma y a esto se le conoce

42
00:04:08,780 --> 00:04:10,490
como alcance de una variable

43
00:04:13,210 --> 00:04:19,870
podemos observar en nuestra figura dos tipos de variables variables de clase que pertenecen a nuestra

44
00:04:19,870 --> 00:04:24,950
clase en particular y las variables de clase.

45
00:04:25,020 --> 00:04:32,270
Pueden usarse en cualquier método de nuestra clase se inicializar con valores por default y por otro

46
00:04:32,270 --> 00:04:40,040
lado tenemos variables locales ya sea argumentos definidos en nuestros métodos o variables definidas

47
00:04:40,160 --> 00:04:41,450
dentro de algún método

48
00:04:46,100 --> 00:04:52,810
las variables locales se pueden usar solo en el método en que se definen y deben ser inicializar.

49
00:04:52,910 --> 00:05:00,320
Antes de usarse ya que estas variables no se van a inicializar por default si una variable la definimos

50
00:05:00,410 --> 00:05:06,680
como un atributo de una clase esta variable se le conoce como variable de clase y existirá durante todo

51
00:05:06,680 --> 00:05:09,500
el tiempo que exista el objeto en memoria.

52
00:05:09,500 --> 00:05:14,570
Estas variables se inicializar con su valor por default de manera automática.

53
00:05:14,570 --> 00:05:18,520
Por ejemplo un tipo entero se inicializar con el valor de cero.

54
00:05:18,710 --> 00:05:24,630
Una variable tipo vull con el valor de Fool's y un objeto Objet con el valor de Null.

55
00:05:24,680 --> 00:05:31,130
Por otro lado las variables locales son cualquier variable definida dentro de un método incluyendo los

56
00:05:31,130 --> 00:05:34,130
argumentos que recibe una función.

57
00:05:34,130 --> 00:05:40,400
Estas variables tienen un tiempo de vida más corto ya que se crean al momento de ejecutarse el método

58
00:05:40,670 --> 00:05:46,330
y se eliminan de la memoria apenas haya terminado la ejecución de dicho método.

59
00:05:46,340 --> 00:05:53,060
Además las variables locales es necesario inicializar con algún valor de lo contrario el compilador

60
00:05:53,120 --> 00:05:58,950
marcará un error debido a la falta de inicialización de este tipo de variables.

61
00:05:58,970 --> 00:06:05,030
Las variables locales ocultan a la variable de clase y si queremos utilizar las variables de clase en

62
00:06:05,030 --> 00:06:11,210
un método que ha definido variables locales con el mismo nombre entonces debemos utilizar el prefijo

63
00:06:11,210 --> 00:06:14,000
dis como comentamos anteriormente.

64
00:06:14,240 --> 00:06:19,460
Esto para poder acceder a las variables de clase en lugar de los atributos locales.
