1
00:00:00,210 --> 00:00:03,450
Bienvenidos en este clase, continuamos con clases y objetos.

2
00:00:03,510 --> 00:00:09,580
Vamos a crear un nuevo proyecto, así que vamos a cerrar primero matrices que tenemos en FIL, cerrad

3
00:00:09,600 --> 00:00:13,350
proyecto Cloud Proyect y vamos a crear un nuevo proyecto.

4
00:00:14,440 --> 00:00:14,850
Perfecto.

5
00:00:15,290 --> 00:00:17,720
Seleccionamos Java como siempre, por defecto.

6
00:00:17,810 --> 00:00:25,730
Siguiente dejamos todo por defecto y el nombre o de programación orientado objeto finalizar.

7
00:00:26,540 --> 00:00:29,760
Bien nos vamos a ir a esa receta que es la base.

8
00:00:29,850 --> 00:00:34,850
Recuerden la raíz de nuestro Calasparra, es decir, desde acá podemos empezar a crear nuestra clase

9
00:00:34,920 --> 00:00:38,940
tal como lo hemos estado haciendo, pero ahora ya con otra clase personalizada.

10
00:00:39,140 --> 00:00:40,080
Bueno, pero antes.

11
00:00:40,110 --> 00:00:43,170
Primero vamos a crear una clase con el Maine, como siempre.

12
00:00:43,310 --> 00:00:44,000
Ejemplo

13
00:00:46,590 --> 00:00:47,540
ejemplo automóvil.

14
00:00:49,030 --> 00:00:54,850
éstA sería nuestra clase principal con el Maine, es decir, nuestro programa, nuestra aplicación,

15
00:00:54,970 --> 00:01:01,140
ahora a partir de esta bueno, tenemos que tener nuestras clases que representan datos y comportamiento.

16
00:01:01,240 --> 00:01:08,320
Recuerden que una clase es una plantilla o molde para crear objetos y los objetos tienen características.

17
00:01:08,370 --> 00:01:13,630
Sus características son los atributos variables que están asociados a tipos de datos.

18
00:01:13,690 --> 00:01:17,470
Por lo tanto, no representan datos, información y los métodos.

19
00:01:17,550 --> 00:01:19,990
Es el comportamiento, es lo que hacen con esos datos.

20
00:01:20,300 --> 00:01:26,500
Bueno, también la diferencia entre programación estructurada, porque básicamente los tipos principales

21
00:01:26,500 --> 00:01:32,130
de programación está estructurada o secuencial y la programación orientada objeto.

22
00:01:32,440 --> 00:01:37,090
Entonces, la diferencia es que la estructurada se basa en funcionalidades, es decir, en funciones

23
00:01:37,210 --> 00:01:39,040
o procedimientos secuenciales.

24
00:01:39,160 --> 00:01:45,910
Y a esas funciones le pasamos por argumento la información, los datos, pero no existen las entidades

25
00:01:46,030 --> 00:01:50,830
y tampoco no está representado en un contexto real de lo que vemos a diario.

26
00:01:50,950 --> 00:01:56,740
Entonces, este tipo de programación estructurada sólo se escriben funciones que procesan datos, nada

27
00:01:56,740 --> 00:01:57,010
más.

28
00:01:57,130 --> 00:02:02,920
A diferencia de objetos, la idea de representar lo que vemos día a día los objetos físicos, pero llevarlos

29
00:02:03,040 --> 00:02:07,000
a nuestras aplicaciones, a objetos de programación, objetos, programación.

30
00:02:07,000 --> 00:02:11,380
También tienen datos que son las características de la información de cada objeto y comportamiento,

31
00:02:11,380 --> 00:02:13,120
que serían los métodos funcionalidades.

32
00:02:13,180 --> 00:02:20,140
Entonces, la idea es combinar tanto los métodos o funcionalidades funciones con los atributos características

33
00:02:20,260 --> 00:02:26,200
dentro de una misma entidad, distinta y separada del resto, pero puede interactuar una con otras.

34
00:02:26,350 --> 00:02:29,320
Enviarse mensajes, es decir, invocación de métodos.

35
00:02:29,410 --> 00:02:34,510
Un objeto puede interactuar con otro objeto invocando métodos, enviándole parámetros, argumentos,

36
00:02:34,510 --> 00:02:41,290
datos y a su vez también puede estar formado en su estructura interna por otros objetos que serían básicamente

37
00:02:41,290 --> 00:02:41,860
atributos.

38
00:02:41,890 --> 00:02:44,020
Pero bueno, cosa que vamos a ver en el curso.

39
00:02:44,120 --> 00:02:48,150
Pero partamos desde la base, partamos creando una clase automóvil.

40
00:02:48,960 --> 00:02:56,110
Entonces en esa recé, acata, me puedo creer packages, crear clases packages y organizar nuestras

41
00:02:56,110 --> 00:03:00,780
clases en packages como si fueran directorio y así evitar colisiones de nombre ese.

42
00:03:00,830 --> 00:03:06,580
Podríamos tener distintos nombres de packages y dentro de esos packages incluso podríamos tener clases

43
00:03:06,580 --> 00:03:09,280
que llevan el mismo nombre, pero no colisionan.

44
00:03:09,400 --> 00:03:13,660
No hay conflicto porque están en distinto paquete o directorio.

45
00:03:13,760 --> 00:03:19,090
Bueno, igual que los archivos y carpetas, podríamos tener un archivo con el mismo nombre o varios

46
00:03:19,090 --> 00:03:21,760
archivos que tienen el mismo nombre, pero en diferentes carpeta.

47
00:03:21,940 --> 00:03:23,180
Entonces no se van a reemplazar.

48
00:03:23,320 --> 00:03:24,610
Acá es lo mismo el Packages.

49
00:03:24,880 --> 00:03:27,090
Bueno, y también un poco más amplio concepto.

50
00:03:27,160 --> 00:03:31,390
Pero después vamos a ver, por ahora vamos a crear solamente solventarla clases y después vamos a entrar

51
00:03:31,440 --> 00:03:33,250
en detalle a todo lo que es packages.

52
00:03:33,580 --> 00:03:39,550
Entonces, New Class automóvil ya tenemos una clase.

53
00:03:40,480 --> 00:03:46,570
En este caso no lleva main porque es una clase entidad que representa datos, tienen características

54
00:03:46,630 --> 00:03:49,090
y métodos, representa los datos de nuestra aplicación.

55
00:03:49,150 --> 00:03:53,560
Por lo tanto, de tener atributos acá por defecto crea la clase como pública.

56
00:03:53,980 --> 00:03:56,800
También podría caer por default, por ejemplo.

57
00:03:56,890 --> 00:04:02,530
De esa forma, si me públic, lo mínimo que tiene que tener una clase es la palabra reservada class,

58
00:04:02,610 --> 00:04:05,140
que el nombre siempre comenzando con mayúscula.

59
00:04:05,290 --> 00:04:11,330
Lo demás, con minúscula y palabras compuestas se tienen que nombrar la siguiente con mayúscula, es

60
00:04:11,330 --> 00:04:13,450
decir, la siguiente letra de la palabra con mayúscula.

61
00:04:13,450 --> 00:04:16,600
Por ejemplo, automóvil deportivo la de con mayúscula.

62
00:04:16,750 --> 00:04:23,020
Otro punto interesante es que se crea la clase, se fija en automóvil la clase automóvil, pero también

63
00:04:23,020 --> 00:04:29,590
se crea un archivo con extensión punto aullaba físicamente acá, entonces se tienen que llamar igual

64
00:04:29,680 --> 00:04:32,560
la clase al archivo con extensión punto IAVA.

65
00:04:32,680 --> 00:04:37,660
Por ejemplo, se acarree, nombro, le coloco solamente por poner un ejemplo deportivo.

66
00:04:38,870 --> 00:04:39,850
Acá me lo acepta.

67
00:04:39,940 --> 00:04:43,590
A pesar de que se llama automóvil y llamaba la atención.

68
00:04:43,660 --> 00:04:44,430
Pero por qué lo acepta?

69
00:04:44,440 --> 00:04:44,830
Por qué?

70
00:04:45,670 --> 00:04:50,840
Pero si colocamos públic marca el error de Bijan automóvil deportivo, Expolit.

71
00:04:51,280 --> 00:04:56,080
Por lo tanto, tiene que ser declarada igual que el nombre del archivo automóvil deportivo, es decir,

72
00:04:56,110 --> 00:04:56,550
el archivo.

73
00:04:56,560 --> 00:04:59,200
Se tendré que renombrar automóvil deportivo.

74
00:04:59,260 --> 00:04:59,590
Punto.

75
00:05:00,250 --> 00:05:01,210
Pero cuando el default?

76
00:05:02,470 --> 00:05:06,850
Quitamos el públic, lo podríamos tener, lo permite con distinto nombre.

77
00:05:06,970 --> 00:05:09,490
Ahora no es lo ideal y tampoco lo recomendable.

78
00:05:09,580 --> 00:05:15,700
Lo recomendable es una clase por archivo y además se tienen que nombrar exactamente igual mismo nombre.

79
00:05:18,240 --> 00:05:21,150
Entonces vamos a dejar de esa forma y lo dejamos también en público.

80
00:05:22,380 --> 00:05:25,530
Pero recuerden, después vamos a saber más sobre los modificadores.

81
00:05:25,710 --> 00:05:27,020
Por ejemplo, el públic.

82
00:05:27,160 --> 00:05:30,240
Bueno, una clase no podría ser Privat, por ejemplo.

83
00:05:31,020 --> 00:05:33,810
Después vamos a ver el Privée, el Protected, en fin.

84
00:05:33,870 --> 00:05:38,460
Pero si una clase fuese Privat, no se podría utilizar en ninguna parte.

85
00:05:38,640 --> 00:05:40,320
Por lo tanto, no tiene sentido.

86
00:05:40,410 --> 00:05:43,750
Tiene que ser solamente públic o difosfato, nada más.

87
00:05:43,830 --> 00:05:49,320
Respecto a modificadores de acceso, es decir, la visibilidad, dónde la podemos utilizar?

88
00:05:49,470 --> 00:05:54,050
Esta clase se podría utilizar en cualquier parte de la aplicación si es diferent.

89
00:05:54,270 --> 00:05:55,580
Por lo tanto, se omite públic.

90
00:05:56,280 --> 00:05:57,510
Lo mismo que nada que colocar.

91
00:05:57,870 --> 00:06:03,060
Solamente se puede utilizar en el packages en cuestión en el cual está la clase, pero después vamos

92
00:06:03,060 --> 00:06:04,650
a saber más en detalle esos temas.

93
00:06:04,770 --> 00:06:08,020
Por ahora no enfocamos solamente a public class automóvil.

94
00:06:08,640 --> 00:06:11,850
Vamos a tener atributos también por defecto.

95
00:06:12,680 --> 00:06:15,090
Después vamos a saber que los atributos sí pueden ser privados.

96
00:06:15,120 --> 00:06:19,050
Private Protected y Public o difosfato son cuatro modificadores.

97
00:06:19,110 --> 00:06:23,190
Después vamos a saber más en detalle, pero solamente los atributos y los métodos, no las clases,

98
00:06:23,190 --> 00:06:25,170
las clases, solamente públic y fold

99
00:06:27,960 --> 00:06:29,250
vamos a tener fabricante.

100
00:06:29,610 --> 00:06:34,590
Los atributos de la clase o característica son variables, pero le pertenecen.

101
00:06:34,680 --> 00:06:37,110
En este caso al objeto a la instancia.

102
00:06:37,200 --> 00:06:42,990
Después vamos a ver que hay dos tipos que le puede pertenecer al objeto, a la instancia misma o también

103
00:06:43,050 --> 00:06:47,140
le podría pertenecer a la clase si es un atributo la clase estática.

104
00:06:47,190 --> 00:06:52,360
Por ejemplo, al ser estática no le pertenece el objeto, sino le pertenece a todos los objetos.

105
00:06:52,440 --> 00:06:55,140
Por lo tanto, es un atributo compartido para todos.

106
00:06:55,200 --> 00:07:01,080
Si un objeto modifica un atributo estático, eso afecta al resto de los objetos de esa clase.

107
00:07:01,170 --> 00:07:06,660
Pero eso es solamente si colocamos la palabra reservada estática en la declaración del atributo, pero

108
00:07:06,660 --> 00:07:12,450
también después vamos a ver por ahora un atributo común y corriente del objeto, siempre asociado un

109
00:07:12,450 --> 00:07:16,980
tipo de dato y el nombre es Trenc modelo,

110
00:07:19,980 --> 00:07:23,760
el color y por ejemplo, la cilindrada.

111
00:07:25,570 --> 00:07:28,080
Cuatro atributos el fabricante o la marca.

112
00:07:28,140 --> 00:07:35,250
Por ejemplo Nissan, el modelo por ejemplo Navara y un color gris cilindrada 2.4.

113
00:07:35,310 --> 00:07:36,000
Por ejemplo.

114
00:07:36,230 --> 00:07:41,460
Ya tenemos los datos principales para un automóvil y a partir de esa plantilla podemos crear varios

115
00:07:41,460 --> 00:07:45,470
tipos de diferente marca diferente modelo, diferente color y diferentes cilindrada.

116
00:07:45,600 --> 00:07:49,740
Por ahora esta clase sin métodos, solamente con atributos, pero bien son pura cosa que vamos a ir

117
00:07:49,740 --> 00:07:52,710
viendo más en detalle de aquí en adelante.

118
00:07:52,830 --> 00:07:55,230
Nada más continuamos en la siguiente clase.
