Bienvenidos en este clase, continuamos con clases y objetos.
Vamos a crear un nuevo proyecto, así que vamos a cerrar primero matrices que tenemos en FIL, cerrad
proyecto Cloud Proyect y vamos a crear un nuevo proyecto.
Perfecto.
Seleccionamos Java como siempre, por defecto.
Siguiente dejamos todo por defecto y el nombre o de programación orientado objeto finalizar.
Bien nos vamos a ir a esa receta que es la base.
Recuerden la raíz de nuestro Calasparra, es decir, desde acá podemos empezar a crear nuestra clase
tal como lo hemos estado haciendo, pero ahora ya con otra clase personalizada.
Bueno, pero antes.
Primero vamos a crear una clase con el Maine, como siempre.
Ejemplo
ejemplo automóvil.
éstA sería nuestra clase principal con el Maine, es decir, nuestro programa, nuestra aplicación,
ahora a partir de esta bueno, tenemos que tener nuestras clases que representan datos y comportamiento.
Recuerden que una clase es una plantilla o molde para crear objetos y los objetos tienen características.
Sus características son los atributos variables que están asociados a tipos de datos.
Por lo tanto, no representan datos, información y los métodos.
Es el comportamiento, es lo que hacen con esos datos.
Bueno, también la diferencia entre programación estructurada, porque básicamente los tipos principales
de programación está estructurada o secuencial y la programación orientada objeto.
Entonces, la diferencia es que la estructurada se basa en funcionalidades, es decir, en funciones
o procedimientos secuenciales.
Y a esas funciones le pasamos por argumento la información, los datos, pero no existen las entidades
y tampoco no está representado en un contexto real de lo que vemos a diario.
Entonces, este tipo de programación estructurada sólo se escriben funciones que procesan datos, nada
más.
A diferencia de objetos, la idea de representar lo que vemos día a día los objetos físicos, pero llevarlos
a nuestras aplicaciones, a objetos de programación, objetos, programación.
También tienen datos que son las características de la información de cada objeto y comportamiento,
que serían los métodos funcionalidades.
Entonces, la idea es combinar tanto los métodos o funcionalidades funciones con los atributos características
dentro de una misma entidad, distinta y separada del resto, pero puede interactuar una con otras.
Enviarse mensajes, es decir, invocación de métodos.
Un objeto puede interactuar con otro objeto invocando métodos, enviándole parámetros, argumentos,
datos y a su vez también puede estar formado en su estructura interna por otros objetos que serían básicamente
atributos.
Pero bueno, cosa que vamos a ver en el curso.
Pero partamos desde la base, partamos creando una clase automóvil.
Entonces en esa recé, acata, me puedo creer packages, crear clases packages y organizar nuestras
clases en packages como si fueran directorio y así evitar colisiones de nombre ese.
Podríamos tener distintos nombres de packages y dentro de esos packages incluso podríamos tener clases
que llevan el mismo nombre, pero no colisionan.
No hay conflicto porque están en distinto paquete o directorio.
Bueno, igual que los archivos y carpetas, podríamos tener un archivo con el mismo nombre o varios
archivos que tienen el mismo nombre, pero en diferentes carpeta.
Entonces no se van a reemplazar.
Acá es lo mismo el Packages.
Bueno, y también un poco más amplio concepto.
Pero después vamos a ver, por ahora vamos a crear solamente solventarla clases y después vamos a entrar
en detalle a todo lo que es packages.
Entonces, New Class automóvil ya tenemos una clase.
En este caso no lleva main porque es una clase entidad que representa datos, tienen características
y métodos, representa los datos de nuestra aplicación.
Por lo tanto, de tener atributos acá por defecto crea la clase como pública.
También podría caer por default, por ejemplo.
De esa forma, si me públic, lo mínimo que tiene que tener una clase es la palabra reservada class,
que el nombre siempre comenzando con mayúscula.
Lo demás, con minúscula y palabras compuestas se tienen que nombrar la siguiente con mayúscula, es
decir, la siguiente letra de la palabra con mayúscula.
Por ejemplo, automóvil deportivo la de con mayúscula.
Otro punto interesante es que se crea la clase, se fija en automóvil la clase automóvil, pero también
se crea un archivo con extensión punto aullaba físicamente acá, entonces se tienen que llamar igual
la clase al archivo con extensión punto IAVA.
Por ejemplo, se acarree, nombro, le coloco solamente por poner un ejemplo deportivo.
Acá me lo acepta.
A pesar de que se llama automóvil y llamaba la atención.
Pero por qué lo acepta?
Por qué?
Pero si colocamos públic marca el error de Bijan automóvil deportivo, Expolit.
Por lo tanto, tiene que ser declarada igual que el nombre del archivo automóvil deportivo, es decir,
el archivo.
Se tendré que renombrar automóvil deportivo.
Punto.
Pero cuando el default?
Quitamos el públic, lo podríamos tener, lo permite con distinto nombre.
Ahora no es lo ideal y tampoco lo recomendable.
Lo recomendable es una clase por archivo y además se tienen que nombrar exactamente igual mismo nombre.
Entonces vamos a dejar de esa forma y lo dejamos también en público.
Pero recuerden, después vamos a saber más sobre los modificadores.
Por ejemplo, el públic.
Bueno, una clase no podría ser Privat, por ejemplo.
Después vamos a ver el Privée, el Protected, en fin.
Pero si una clase fuese Privat, no se podría utilizar en ninguna parte.
Por lo tanto, no tiene sentido.
Tiene que ser solamente públic o difosfato, nada más.
Respecto a modificadores de acceso, es decir, la visibilidad, dónde la podemos utilizar?
Esta clase se podría utilizar en cualquier parte de la aplicación si es diferent.
Por lo tanto, se omite públic.
Lo mismo que nada que colocar.
Solamente se puede utilizar en el packages en cuestión en el cual está la clase, pero después vamos
a saber más en detalle esos temas.
Por ahora no enfocamos solamente a public class automóvil.
Vamos a tener atributos también por defecto.
Después vamos a saber que los atributos sí pueden ser privados.
Private Protected y Public o difosfato son cuatro modificadores.
Después vamos a saber más en detalle, pero solamente los atributos y los métodos, no las clases,
las clases, solamente públic y fold
vamos a tener fabricante.
Los atributos de la clase o característica son variables, pero le pertenecen.
En este caso al objeto a la instancia.
Después vamos a ver que hay dos tipos que le puede pertenecer al objeto, a la instancia misma o también
le podría pertenecer a la clase si es un atributo la clase estática.
Por ejemplo, al ser estática no le pertenece el objeto, sino le pertenece a todos los objetos.
Por lo tanto, es un atributo compartido para todos.
Si un objeto modifica un atributo estático, eso afecta al resto de los objetos de esa clase.
Pero eso es solamente si colocamos la palabra reservada estática en la declaración del atributo, pero
también después vamos a ver por ahora un atributo común y corriente del objeto, siempre asociado un
tipo de dato y el nombre es Trenc modelo,
el color y por ejemplo, la cilindrada.
Cuatro atributos el fabricante o la marca.
Por ejemplo Nissan, el modelo por ejemplo Navara y un color gris cilindrada 2.4.
Por ejemplo.
Ya tenemos los datos principales para un automóvil y a partir de esa plantilla podemos crear varios
tipos de diferente marca diferente modelo, diferente color y diferentes cilindrada.
Por ahora esta clase sin métodos, solamente con atributos, pero bien son pura cosa que vamos a ir
viendo más en detalle de aquí en adelante.
Nada más continuamos en la siguiente clase.