Ya tenemos algunos atributos.
Ahora vamos a implementar métodos, pero antes una corrección, acá puse impresa con S y en realidad
con Z impresa con zeta.
Un detalle nos vamos al automóvil, vamos a crear un par de métodos comportamiento.
También se le conoce como funciones de la clase del objeto y también cómo los atributos tienen modificadores.
Después vamos a entrar en detalles y tenemos distintos tipos de modificadores, tanto para atributos
como para métodos.
Pueden ser de acceso o cómo están ocultados oculto.
Los atributos del resto, cómo se pueden ocultar?
Como había mencionado, pueden ser públicos, pueden ser privados, pueden ser protegidos y también
por defecto solamente del paquete o del package.
Pero también tenemos otros modificadores que también vamos a ver, por ejemplo, final o final y también
static.
Vamos a ver que le Tatic hace que el atributo sea de la clase y no de la instancia.
Después lo vamos a ver y final hace que el atributo sea una constante que no se puede modificar.
Solamente se define una vez en la clase y después se puede utilizar.
Eso es en el atributo.
Un atributo constante no es una variable en el fondo, pero el método también puede ser estático y el
método también puede ser final.
Un método estático.
Hemos visto varios ejemplo en clase de ella, como la clase matemática, como la clase system, que
se pueden invocar de forma directa con la clase sin crear el objeto con la clase en nombre de la clase
punto.
El método, porque ese método no es el objeto, le pertenece a la clase.
No es necesario tener que crear la instancia también.
Después vamos a saber más detalles y los final métodos finales que evita que ese método se modifique
en la herencia.
Después lomás saber cuando lleguemos a la herencia superclase es heredar de una clase padre.
En fin, después lo vamos a ver.
Pero bueno, vamos a lo básico implementar un método en la clase automóvil.
Bueno, un modificador de acceso, por ejemplo públic.
Si se omite, queda por defecto.
Entonces primero se define la firma o declaración del método, que también se le conoce como encabezado
entonces modificador.
El tipo de retorno lo que devuelve puede devolver un primitivo o un objeto asociado a un tipo de dato.
Después de realizar un proceso hago una consulta, alguna tarea.
Lo que sea algún cálculo puede retornar algo, un valor, pero también podrían no retornar nada.
Por ejemplo, si colocamos Bay Bay en inglés es vacío, no retorna nada.
Por lo tanto, sería una función o más que una función.
Es un procedimiento que hace algo, pero no devuelve nada.
Luego viene el nombre, por ejemplo, detalle.
Yo quiero imprimir el detalle de los paréntesis y dentro de paréntesis pueden ir parámetros o argumentos
del método.
Justamente desde la clase main o incluso otros objetos dentro de otros métodos de otro objeto que interactúan,
le podemos pasar datos valores al objeto automóvil invocando un método, detalle y pasando parámetros,
y con esos parámetros podríamos hacer algo o alguna tarea también.
Cualquier cosa, además de los atributos propios de la clase de estos atributos.
Entonces podremos trabajar con parámetros externo del objeto, pero también con atributos internos.
Pero por ahora va a ser un método simple, sin parámetros en nada.
Luego viene el cuerpo del método con las llaves y acá tiene el contexto, el método.
Si se fijan, es parecido al método main con el públic, el retorno, el nombre y parámetros.
Y el cuerpo acá tiene el static.
Porque este método es de la clase, no del objeto.
Por lo tanto, se puede invocar directamente con el nombre de la clase.
Pero después lo vemos más en detalle.
Por ahora, este método es la instancia solamente por acceder a detalle creando un objeto con el NEO,
ni un automóvil pudo embocar este método.
Entonces, ahora la idea que este método detalle muestra el detalle del objeto lo imprima.
Entonces vamos a seguir acá, vamos a copiar esto.
Todo lo que tenemos acá lo cortamos.
Y lo pegamos acá bien, pero acá hace referencia al objeto auto que le dimos acá el nombre de la variable
auto, pero cuando estamos dentro de la misma clase, el nombre que toma esa instancia se llama tiz
y esa es la importancia del objeto.
Dice que se refiere a sí mismo dentro de la clase, es decir, dentro de la clase.
Hago referencia a su instancia, al mismo objeto.
Entonces, casi 10 días.
Entonces, cada vez que quiero acceder a una tributo o a un método propio de la clase de la misma clase,
contéis entonces sí voy a utilizar esta variable o atributo de la clase en un método de la misma clase.
Condis dice Fabricante, modelo y así se fijan Condis.
Ahora el diz se puede omitir también porque por defectos asume, por ejemplo, psicologica modelo.
Está perfecto de forma automática.
Toma y asume que se trata del atributo de la clase.
Pero cuidado, no siempre.
Qué pasa si acá tengo streeck modelo otro?
Es decir, dentro del mismo método de la clase defino una variable que se llama igual, pero esta variable
no es atributo de la clase, sino es una variable del método.
Detalle se llama igual que al atributo modelo, pero son distintos, son distintas variables.
1.
El local del método y este es de la clase, y si hago esto va a tomar la variable que definimos acá.
La variable local del método y no el atributo la clase.
Entonces, si quiero utilizar o quiero hacer diferencia entre una variable local del método y un atributo,
la clase que se llaman exactamente igual.
Si quiero hacer esa diferencia, estoy obligado a utilizar el diz.
Entonces, con el diz ya perfecto, me refiero acá al atributo modelo y no a este modelo.
Otro Bijan, no esta variable local.
Ahora sí me quiero referir.
Al abrir el local quito el.
Entonces por eso puede ocupar el diz para hacer referencia a un atributo de la clase, pero de forma
explícita.
Ahora, si Quito, por ejemplo, el dicen color de forma automática asume que se trata del atributo
de clase color, porque no hay otra variable local del método que se llame igual.
Pero si hubiera como modelo, estaría obligado a utilizar el diseño importante, la aviación, cosa
que vamos a ir practicando y afinando a lo largo del curso.
Así que no se preocupen.
Esto es la primera mirada a estos detalles que son importantes.
Por ejemplo, cilindrada lo podría omitir.
También lo podría dejar de forma explícita omitir.
Ahora bien, quizá como buena práctica o recomendación, siempre es bueno ser más explícito que implícito
y sobre todo cuando se está partiendo después, cuando ya se tiene más experiencia.
Bueno, esto es casi automático.
Se podría omitir o no, pero por lo menos al comenzar al partir programando 30 objetos siempre es bueno
ser más explícito para tener el concepto más claro y bello.
Visualizar el código de forma más clara, más directa, más explícita.
Entonces acá dice Modelo.
Va a tomar este Daka de la clase, el atributo, la clase.
En este caso impresa o BT 50, dependiendo si mata o auto auto Subaru.
Entonces hay que tener claros esos detalles, como tenemos detalle, nuestro primer método del tipo
público no Retornã nada.
Entonces ahora esto lo podremos quitar porque ya están un método y voy a renombrar acá Subaru.
Para hacer un poco más explícito de qué se trata el objeto Subaru y acataremos Magna, entonces ahora
por ejemplo, Subaru punto, detalla.
Magda.
Punto.
Detalla.
Entonces vamos a enfocar el detalle.
El método detalle de cada uno de cada objeto iba a mostrar sus datos.
Se fijan y estamos reutilizando el código mucho más limpio y de ahí la importancia de utilizar métodos.
Ahora bien, acá estamos utilizando el sistema punto.com print, estamos imprimiendo dentro de la clase
para este ejemplo en un contexto simple está bien, pero bueno, buena práctica dentro de una clase.
Nunca se debería de imprimir datos, es decir, dentro de una clase o de un objeto que representa datos.
En el caso de una clase de aplicación con el método Main estaría perfecto, pero en el caso tu móvil
no es tan buena práctica.
Imprimir.
La idea es que los métodos ejecuten algún proceso, lleven a cabo alguna tarea, pero que no sea imprimir
datos en la consola.
La idea que maneje datos y cualquier información en vez de imprimirla, la debería de devolver.
Por lo tanto, acá podríamos tener un ratón.
Devolver los datos resumidos en un detalle.
Por ejemplo, el tipo de streeck y la clase automóvil la imprimimos en la clase con el método main ejemplo
automóvil.
Ahí la imprimimos y además se acopla demasiado a una sola forma de imprimir.
Está imprimiendo Consolata y la idea es retornar los datos y acá se podrá imprimir en consola o se podría
guardar en un archivo o se podrían ver por correo.
Se fijan si estamos trabajando en una aplicación web?
Lo podremos imprimir en el HTML, exportar a PDF, en fin, que es mucho más reutilizable.
Acá lo amarra, queda muy acoplado a una sola forma o implementación de imprimir, que sería con el
sistema o Pringle, es decir, imprimir en consola.
La idea que no quede acoplado no queda amarrado.
Ratón de los datos y los datos después se pueden imprimir afuera, en cualquier otra parte, de cualquier
otra forma como queramos.
Entonces la idea esto es modificar, por ejemplo, strict cartonear un streeck.
Esto yo lo voy a quitar porque era solamente para explicar el tema del tiz.
Esto lo quito, vamos a tener un streeck Builder, creo que lo vimos por ahí.
Se ve igual.
Voy a utilizar el String Builder para concatenar, pero podría ser con más de lo mismo.
Perfecto.
Entonces, ahora en vez de imprimir vamos a concatenar estos datos y lo devolvemos en el método como
un strict.
Lo retornamos entonces por acá ese punto, apunta.
Appen.
Y así por cada uno.
Y retornamos en ese punto, lo convertimos a una cadena.
La palabra clave rotaron es muy importante porque nos permite devolver o retornar un valor, ya sea
a un objeto, como en este caso un tren, o de cualquier otro tipo.
O también primitivos.
Pero es para devolver un valor, para devolver algo, un valor o un objeto.
Y después saca.
Lo que hacemos imprimir porque qué pasa?
Ahora se ejecutó, no pasa nada porque detalle lo que hace retornar un estreno, pero que ahora tenemos
que imprimir.
Entonces, por ejemplo, sought.
ñaca lo imprimimos, te Bijan estos Rotondo Metric, imprimimos Selectric y atomismo acá.
Ahora si.
Se fijan?
Bueno, me lo reprimido por al lado, eso también lo podemos corregir, por ejemplo, con salto línea.
Recuerden que por acá agregar el pack Select N de New Line.
Y así por cada uno.
Ya tenemos nada más, continuamos en la siguiente clase.