1 00:00:00,300 --> 00:00:05,880 Veamos un ejemplo de modificadores de acceso de package o default, pero más orientado a objetos la 2 00:00:05,880 --> 00:00:07,860 vida real más que de una aplicación en Java. 3 00:00:07,950 --> 00:00:11,850 La idea es poner un ejemplo simple en un contexto cotidiano de la vida real. 4 00:00:11,920 --> 00:00:16,770 Bueno, que también se podría aplicar a un programa de yaba, quizás a un juego por ejemplo, o algo 5 00:00:16,770 --> 00:00:16,970 así. 6 00:00:17,070 --> 00:00:22,950 Pero bien, veamos lo primero vamos a organizar un poco las clases, vamos a crear un package dentro 7 00:00:22,950 --> 00:00:25,190 de app de forma paralela al hogar. 8 00:00:25,830 --> 00:00:28,110 Vamos a crear el package jardín. 9 00:00:28,650 --> 00:00:32,670 Por lo tanto, estar dentro de app perfecto en jardín. 10 00:00:32,790 --> 00:00:34,710 Vamos a mover ejemplo paquetes. 11 00:00:34,800 --> 00:00:35,520 Lo movemos. 12 00:00:36,210 --> 00:00:36,660 Ok. 13 00:00:36,750 --> 00:00:37,470 Refractor. 14 00:00:39,030 --> 00:00:40,530 Y movemos también perro. 15 00:00:42,120 --> 00:00:48,720 Москве refractor Lytton se fijan ahora tenemos dos рамках que son hermanos, hogar y jauto personas 16 00:00:48,720 --> 00:00:54,720 jardín perro y nuestra aplicación con el metodo M dentó sigue funcionando exactamente igual, solamente 17 00:00:54,720 --> 00:00:57,720 que le dimos un orden un poco más estructurado. 18 00:00:57,930 --> 00:01:05,190 Bien, lo siguiente persona recuerden siempre privat lo dejamos en públic solamente para el ejemplo. 19 00:01:07,110 --> 00:01:10,440 Entonces privat y generamos lo pietra transceptor. 20 00:01:12,520 --> 00:01:14,140 De los dos marcamos los dos. 21 00:01:14,380 --> 00:01:16,840 Ok, bien, entonces ahora nos vamos. 22 00:01:16,930 --> 00:01:19,300 Ejemplo Pakete usamos set. 23 00:01:22,640 --> 00:01:23,600 Yaca Jetta? 24 00:01:25,910 --> 00:01:31,150 Bien repecto a perro es protected o lo podemos dejar como disuelto porque Depakote. 25 00:01:31,250 --> 00:01:31,890 Pero ahora mismo. 26 00:01:32,090 --> 00:01:37,580 Pero como tiene ya un modificador, ya por lo menos está protegiendo los atributos dentro de РАМКАХ. 27 00:01:37,730 --> 00:01:43,550 Es decir, si incluimos esta clase en otro paquete distinto, por ejemplo, si queremos utilizar perro 28 00:01:43,610 --> 00:01:47,360 dentro del package hogar o en cualquier otro, no lo podemos hacer. 29 00:01:48,050 --> 00:01:53,600 Es decir, podemos porque en realidad public, pero incluso podría ser de fold y los atributos son protected. 30 00:01:53,690 --> 00:01:57,020 Por lo tanto, solamente se puede utilizar dentro del package jardín. 31 00:01:57,170 --> 00:02:00,230 Es la idea de que el perro solamente tiene jardín y no entre la casa. 32 00:02:00,350 --> 00:02:01,420 En un ejemplo bien real. 33 00:02:01,550 --> 00:02:05,960 Y esa es la idea, restringir que el perro entre la casa que juega en la casa. 34 00:02:05,990 --> 00:02:11,900 En fin, solamente la persona, el dueño puede ir a jugar o interactuar con el perro en el jardín. 35 00:02:12,000 --> 00:02:14,150 Y de hecho, gato solamente está dentro de la casa. 36 00:02:14,330 --> 00:02:16,930 Al gato lo dejamos simple, lo dejamos como default. 37 00:02:17,150 --> 00:02:17,800 No es público. 38 00:02:17,810 --> 00:02:22,220 Por lo tanto, gato solamente puede estar dentro de la casa, porque en el jardín probablemente con 39 00:02:22,220 --> 00:02:24,980 el perro peleen por un problema mayor. 40 00:02:25,160 --> 00:02:26,030 Entonces esa la idea. 41 00:02:26,180 --> 00:02:31,670 Vamos a crear un par de métodos en persona y también en perro para que interactúen. 42 00:02:31,820 --> 00:02:34,220 Es decir, para que el perro pueda jugar con la persona. 43 00:02:34,280 --> 00:02:38,060 Pero ojo, solamente jugar en el jardín y no dentro de la casa. 44 00:02:38,150 --> 00:02:44,750 Por eso digo que es un ejemplo más de la vida real y no tanto de un programa empresarial en Yaba, más 45 00:02:44,750 --> 00:02:49,040 que nada para poder ejemplarizar los contextos y los modificadores. 46 00:02:49,130 --> 00:02:52,820 Bueno, contexto me refiero a los paquetes en otro lenguaje, los РАМКАХ. 47 00:02:52,910 --> 00:02:54,770 Se le conoce como namespace también. 48 00:02:54,830 --> 00:02:56,390 Por ejemplo deshechar. 49 00:02:56,480 --> 00:02:58,490 Punto net en php también. 50 00:02:58,610 --> 00:03:01,370 Net space que significa el nombre de espacio justamente. 51 00:03:01,490 --> 00:03:03,050 Bien, entonces sigamos. 52 00:03:03,140 --> 00:03:04,700 Vamos a persona. 53 00:03:04,790 --> 00:03:11,870 Primero iba a tener un método, un método público que le permita lanzar o jugar con el perro. 54 00:03:11,960 --> 00:03:13,880 Por ejemplo Strength. 55 00:03:14,000 --> 00:03:14,990 Lanzar pelota. 56 00:03:23,530 --> 00:03:25,840 O lanzar un palo, por ejemplo, al perro. 57 00:03:25,960 --> 00:03:27,400 Algo simple y elpúblico. 58 00:03:27,460 --> 00:03:31,660 Por lo tanto, persona, por supuesto, puede utilizar este método en cualquier parte. 59 00:03:31,720 --> 00:03:33,430 Pudiera jugar en el jardín. 60 00:03:33,520 --> 00:03:33,940 En fin. 61 00:03:34,060 --> 00:03:34,930 Dónde está el perro? 62 00:03:35,170 --> 00:03:40,090 Pero el perro va a tener otro método que para que interactúe y juegue con el dueño. 63 00:03:40,150 --> 00:03:42,580 Por lo tanto va a haber una relación de dependencia. 64 00:03:42,700 --> 00:03:48,640 Es decir, el perro en este método va a recibir una instancia de persona para que la persona le lance 65 00:03:48,640 --> 00:03:52,780 la pelota y el perro como reacción, vaya a ir a buscar la pelota. 66 00:03:52,900 --> 00:03:54,670 Pero ojo, no puede ser públic. 67 00:03:54,880 --> 00:04:00,430 La idea es que el perro solamente juegue en su contexto en el jardín y no dentro de la casa. 68 00:04:00,550 --> 00:04:05,260 Entonces no puede ser pulí, tiene que ser de fold estric jugar. 69 00:04:06,370 --> 00:04:07,150 Pero con quién? 70 00:04:07,960 --> 00:04:08,710 Con la persona. 71 00:04:10,540 --> 00:04:12,850 Por lo tanto, recibe como argumento el método persona. 72 00:04:13,360 --> 00:04:14,560 Pero estoy fija en persona. 73 00:04:14,830 --> 00:04:17,290 La tiene que importar para poder utilizarla. 74 00:04:17,410 --> 00:04:19,420 De qué está en el package hogar entonces? 75 00:04:19,420 --> 00:04:20,950 Con control, barra espacio. 76 00:04:20,980 --> 00:04:23,580 Como siempre la importo de forma automática. 77 00:04:23,590 --> 00:04:24,180 Sí importa. 78 00:04:24,400 --> 00:04:25,750 Entonces import or. 79 00:04:25,780 --> 00:04:26,560 Punto a Guzmán. 80 00:04:26,570 --> 00:04:27,820 Punto a punto ogar. 81 00:04:27,820 --> 00:04:29,790 Punto persona la estamos utilizando. 82 00:04:30,370 --> 00:04:35,230 Entonces retornamos persona a punto lanzar pelota. 83 00:04:36,690 --> 00:04:37,660 Entonces esta forma. 84 00:04:37,750 --> 00:04:43,960 Si nos vamos al ejemplo con el método main que está en Jardim, entonces bueno perro, puedes jugar 85 00:04:44,020 --> 00:04:50,620 con la persona en el jardín, por ejemplo string jugando igual. 86 00:04:51,040 --> 00:04:53,020 Perro punto jugar. 87 00:04:53,920 --> 00:04:54,460 Y qué le pasa? 88 00:04:54,460 --> 00:04:57,550 Por instancia le pasa Andrés a la persona. 89 00:04:58,130 --> 00:05:04,870 Entonces le pasamos p relación de dependencia en 9L se fijan, ya están interactuando estos dos objetos 90 00:05:04,930 --> 00:05:09,400 y esa es la idea de que el objeto se pueden comunicar, interactuar para realizar alguna acción, alguna 91 00:05:09,400 --> 00:05:09,700 tarea. 92 00:05:09,760 --> 00:05:13,060 En este caso que el perro juegue con su dueño en el jardín. 93 00:05:14,720 --> 00:05:19,910 Хотя y mostrame jugando se fijan un ejemplo simple para representar. 94 00:05:21,080 --> 00:05:23,720 Jugando lanza la pelota al perro. 95 00:05:24,300 --> 00:05:25,700 Ven acá, dice Nul. 96 00:05:25,790 --> 00:05:27,970 Porque en realidad es set nombre acá. 97 00:05:28,100 --> 00:05:31,350 No se apellido ese nombre. 98 00:05:31,970 --> 00:05:33,360 Y también le podemos pasar el apellido. 99 00:05:33,380 --> 00:05:33,620 Toma. 100 00:05:36,570 --> 00:05:36,990 Listo. 101 00:05:39,930 --> 00:05:42,660 Andrés, entonces jugando, lanza la pelota al perro. 102 00:05:42,750 --> 00:05:49,860 Pero qué pasa si ahora en Hogar quiero crear una clase con el método Main, una aplicación y tratar 103 00:05:49,860 --> 00:05:52,470 de que la persona juegue con el perro dentro de la casa? 104 00:05:52,560 --> 00:05:53,040 Veamos. 105 00:05:54,300 --> 00:05:56,850 Entonces hubo una clase ejemplo hogar 106 00:05:59,730 --> 00:06:00,640 con el método Main. 107 00:06:03,480 --> 00:06:10,080 La persona la podemos crear sin ningún problema, se fijan y ni siquiera es necesario tener que importarla, 108 00:06:10,140 --> 00:06:12,270 porque persona es parte de hogar. 109 00:06:12,390 --> 00:06:19,120 Tal como vimos, ahora quiero crear al perro perro igual new perro. 110 00:06:19,740 --> 00:06:20,310 Perfecto. 111 00:06:20,400 --> 00:06:24,420 Ahí tenemos al perro, pero tenemos que importar perro porque perro es del otro contexto. 112 00:06:24,570 --> 00:06:25,860 Es de jardín perfecto. 113 00:06:25,860 --> 00:06:26,580 Lo importamos. 114 00:06:27,180 --> 00:06:30,210 Recuerden que por ahora perro es públic. 115 00:06:30,780 --> 00:06:36,360 Entonces podría entrar a la casa, quizás para comer o para dormir. 116 00:06:36,450 --> 00:06:38,970 No sé, puede ser, pero no para jugar. 117 00:06:39,090 --> 00:06:41,460 Entonces, perro como está dentro del hogar. 118 00:06:41,700 --> 00:06:42,330 Punto. 119 00:06:42,390 --> 00:06:42,900 Jugar. 120 00:06:43,410 --> 00:06:46,620 No podemos invocar ese método porque ese método es difundid. 121 00:06:46,740 --> 00:06:48,480 Solamente se va a utilizar en el jardín. 122 00:06:48,600 --> 00:06:49,950 Se fijan y esa es la idea. 123 00:06:50,160 --> 00:06:54,870 Perro jugar solamente en su contexto en jardín, pero no en hogar. 124 00:06:55,470 --> 00:06:56,430 Acá no puede jugar. 125 00:06:56,550 --> 00:06:57,960 De hecho, no puedo invocar el método. 126 00:06:58,240 --> 00:07:00,360 Hacer otras actividades, pero no jugar. 127 00:07:00,630 --> 00:07:03,240 Incluso podríamos ser incluso más estricto todavía. 128 00:07:04,580 --> 00:07:06,680 Es decir, que el perro simplemente no entra a la casa. 129 00:07:06,740 --> 00:07:07,940 Tienes que estar siempre en el jardín. 130 00:07:08,090 --> 00:07:12,110 Bueno, no la idea, pero podría ser entonces perro. 131 00:07:12,260 --> 00:07:14,330 Simplemente quitamos el públic y listo. 132 00:07:14,480 --> 00:07:18,590 Nos vamos ejemplo hogar y ya no puede utilizar perro dentro de la casa. 133 00:07:18,740 --> 00:07:19,490 Si no puede entrar. 134 00:07:19,610 --> 00:07:21,470 El gato puede entrar, pero no el perro. 135 00:07:21,560 --> 00:07:23,870 Así que bueno, son diferente diseño. 136 00:07:23,990 --> 00:07:29,660 Y no hay una regla para decir que cuando usamos foll, cuando usamos públic, todo depende de nuestro 137 00:07:29,780 --> 00:07:33,380 diseño, que queremos implementar reglas de negocio requisito en la aplicación. 138 00:07:33,410 --> 00:07:39,320 En fin, voy a dejar en públic perro, pero obviamente que solamente juegue en el jardín y no en la 139 00:07:39,320 --> 00:07:39,680 casa. 140 00:07:40,260 --> 00:07:46,700 Bueno, gato lo tenemos de ejemplo, lo podríamos implementar y podría tener método que solamente puedan 141 00:07:46,820 --> 00:07:49,850 estar dentro del contexto de hogar y no fuera. 142 00:07:49,940 --> 00:07:52,280 Quizás afuera pueda ir hacer sus necesidades. 143 00:07:52,340 --> 00:07:57,440 Quizás, no sé, depende el diseño que le queramos dar, pero bueno, eso sería a grandes rasgos un 144 00:07:57,440 --> 00:07:59,810 ejemplo simple y espero que sea entendido bien. 145 00:07:59,870 --> 00:08:03,590 Continuamos en la siguiente clase con los import estáticos.