‫Bienvenido de nuevo y este video, vamos a continuar con las propiedades, los setters y los getters, comenzamos con el último video en
‫el que miramos a los setters y getters y ahora vamos a usar el mismo código
‫y vamos para extenderlo un poco.
‫Entonces vimos que podemos usar setters para establecer el valor de una variable miembro y podemos implementar nuestra propia lógica,
‫cómo queremos configurarla para poder decir, OK, si quieres establecer el valor, tiene que siga
‫mis reglas para que podamos definir nuestras propias reglas, que tienen que ser.
‫Seguido y luego tenemos getas, que también podemos ajustar, así que simplemente podemos decir, OK, si quieres obtener
‫la variable, te voy a dar en este caso, el resultado de la multiplicación de longitud, altura,
‫ancho para que puedas modificarlos a tu gusto.
‫Ahora, echemos un vistazo a las propiedades y cómo todo esto está conectado entre sí.
‫Así que creemos una propiedad y voy a crear una propiedad pública llamada altura.
‫Y esta altura ajustará mi variable de miembro de altura.
‫Así que antes era público.
‫Ahora lo haré privado para que no podamos acceder a la altura desde el exterior.
‫Entonces aquí, si quiero ajustar la altura, no podré hacerlo más.
‫Ahora obtendré este error.
‫Está bien.
‫Ahora usemos nuestra propiedad de altura para poder acceder a nuestra altura allí.
‫¿Entonces cómo hacemos eso?
‫Bueno, en primer lugar, usamos esta propiedad con una H mayúscula y el comienzo.
‫Por lo general, así es como se usa la propiedad.
‫Esa es una convención y una programación especial.
‫Las propiedades comienzan con mayúscula.
‫Y ahora aquí puedo crear mi Geter y puedo volver a la altura y puedo crear a mi hermana y puedo establecer la altura
‫aquí para que sea, por ejemplo, el valor que es el sitio.
‫Ahora bien, ¿qué es esta palabra clave de valor?
‫Bueno, lo que estamos haciendo aquí es básicamente lo mismo que hicimos antes.
‫Establecemos la longitud y obtenemos la longitud.
‫Pero ahora nuestra puerta de entrada, por así decirlo, es la altura de nuestra propiedad.
‫Entonces, si desea acceder o cambiar la altura recordable, debe hacerlo a través de la altura de la propiedad.
‫Entonces, ahora lo que puede hacer es establecerlo en el valor que estableció se establecerá en la altura.
‫Ahora, ¿cómo se ve realmente cuando vamos a nuestro programa ahora aquí, si intentamos establecer la altura?
‫Al acceder directamente a la variable miembro, ya no podemos hacerlo, pero si accede a la propiedad, como puede ver, la altura
‫está disponible aquí y es este icono de herramienta el que podemos ver aquí.
‫Entonces, este es generalmente el ícono que tiene cuando desea acceder a una propiedad.
‫Y puedes ver que esto funciona para que podamos establecer la altura ahora.
‫Y si lo hacemos, esto será o esto por aquí, lo que sea que esté detrás de este signo igual o después de este signo
‫igual.
‫Ese será el valor aquí en este valor y se establecerá como la altura.
‫Entonces, este valor es más o menos lo mismo que la longitud que teníamos antes cuando creamos esta longitud establecida.
‫Es prácticamente el mismo concepto, pero nosotros es solo una forma más corta de hacerlo.
‫Derecha.
‫Para que pueda ver si queríamos tener un establecedor, teníamos todo este código.
‫Por supuesto, no necesitamos este código aquí.
‫Está bien.
‫Pero aún así, teníamos todo este código y ahora tenemos este código súper corto.
‫Entonces este es el centro.
‫Por supuesto, aquí también podemos ajustar ahora, digamos que si el valor es menor que cero,
‫entonces estableceremos nuestra altura para que sea menos el valor y, de lo contrario, será la altura, el valor igual.
‫Bien, ahora vayamos a nuestro programa y establezcamos el máximo en menos cuatro.
‫Y finalmente, establezcamos eso porque creamos este error antes, correcto, y ahora establezcamos la altura en
‫menos cuatro y ejecutemos nuestro código.
‫Y veremos que funciona tan Lenfest por como queda con esta pelea.
‫Entonces, ¿por qué es eso?
‫¿Aunque establezcamos el valor en menos cuatro?
‫Bueno, dijimos que si el valor de la altura que me pasas es negativo, lo voy a multiplicar.
‫Entonces, si el valor es menor que cero, lo multiplicaré por menos uno.
‫Así que volveré a hacerlo positivo.
‫Y si es positivo, simplemente hágalo o asigne un valor o si es cero, también está bien.
‫Está bien.
‫Entonces eso es lo que podemos hacer con las propiedades.
‫Ahora, esta es una implementación de una propiedad.
‫Por supuesto, lo que puede hacer es usar la propiedad sin tener una variable miembro.
‫Entonces, este memorable que tenemos aquí podría ser algo que no se requiere en absoluto.
‫Así que incluso podríamos omitir eso.
‫Entonces, digamos que no quiero establecer el ancho como una variable miembro.
‫Quiero tenerlo como propiedad.
‫Y les mostraré otra forma de crear una propiedad.
‫Y esto es mucho, mucho más rápido.
‫Entonces, solo usa P, R, O, P, y luego toca dos veces y esto creará esta propiedad para usted.
‫Ahora solo puede ingresar para escribir.
‫Y voy a decir, está bien, va a ser un número entero.
‫Luego presiona tap nuevamente y ahora puede darle un nombre.
‫Así que voy a llamar a este con.
‫Ahora, ¿qué está pasando aquí?
‫Bueno, este es un código que C Sharp acaba de entender e incluso fue creado para nosotros automáticamente con nuestra
‫identificación, ¿verdad?
‫Solo dice poner punto y coma, punto y coma.
‫Entonces, esto solo significa que solo será un captador predeterminado y un configurador
‫predeterminado, lo que solo significa que si desea acceder con, puede acceder usando la variable with esta propiedad.
‫Y si desea configurarlo, también puede usarlo.
‫Entonces, ¿qué significa en nuestro caso?
‫Bueno, significa que ahora podemos acceder a esta propiedad simplemente asignando un valor y si desea aprovecharlo.
‫Entonces, si queremos acceder a él.
‫Cajas con.
‫Es un punto de caja.
‫Con lo que aquí podemos acceder directamente a la propiedad.
‫Muy bien, esta es la diferencia aquí.
‫Entonces, internamente, es lo mismo que si creáramos.
‫Los.
‫Con, volvamos a esto con, tengamos esta variable miembro nuevamente, así que
‫internamente es lo mismo que si creara este público y con y voy a comentar esto por ahora y tengo un captador.
‫Así que devuelvo el con.
‫O comienzan con.
‫Y el centro donde dije que comienzan con valor.
‫Muy bien, esto es realmente.
‫Hay.
‫El código aquí es realmente lo mismo que este, e internamente también es lo que sucede una vez
‫que compila el código para que el compilador lo haga automáticamente.
‫Para nosotros, solo dice, OK, si tiene esta línea de código, lo trataré como si fuera
‫este código que tiene aquí, solo que es mucho más corto y es mucho más fácil crearlo. código.
‫Está bien.
‫Así que solo voy a comentar esto, porque lo leo como este breve enfoque que tenemos allí.
‫Y comentemos esto así.
‫Y ya no necesito esta variable miembro, está bien, porque aquí necesitamos un miembro verbal porque configuré el con
‫y en este caso, dije que la variable miembro con no configuré el.
‫Nuestra economía no puede establecerse por sí misma, así que si yo escribiera aquí en cambio.
‫Y si ahora hago eso, lo que creo es un desbordamiento de pila, así que constantemente trato de configurar algo y va a ser un
‫bucle sin fin aquí, lo cual no es bueno.
‫Es por eso que necesitaba recordar la variable para este ejemplo aquí.
‫Está bien.
‫Pero internamente, lo va a tratar así.
‫De acuerdo, lo está tratando internamente como el código que tenemos aquí, solo que es mucho más corto para
‫nosotros.
‫Muy bien, ahora un pequeño desafío para usted, siga adelante y cree una propiedad para el volumen que lo
‫rodea como lo hicimos con el ancho aquí.
‫Está bien.
‫Así que prácticamente el mismo ejemplo que teníamos aquí, solo que va a ajustar el volumen y no el
‫ancho.
‫Así que por favor intente eso, cree su propia propiedad, escríbala.
‫No haga el enfoque corto ni utilice el enfoque corto.
‫Está bien.
‫Entonces, para que esto tenga sentido, primero que nada, tenemos que hacer que nuestro volumen sea
‫privado y luego podemos crear una propiedad para un volumen tan público y que se obtenga un volumen con una V mayúscula.
‫Regrese el volumen y luego siéntese.
‫Este volumen es igual al valor.
‫Entonces esta es su propiedad que creamos para el volumen.
‫Espero que hayas podido hacerlo.
‫Por supuesto, podría haberse deshecho de este volumen por completo y crearlo de la misma manera que lo hicimos
‫con el con es mucho más rápido.
‫Pero solo quería mostrarte que esto también es genial.
‫Ahora el.
‫La parte importante aquí es que podemos pensar en la variable de volumen o esta propiedad y ¿por
‫qué o en qué punto tiene sentido cambiarla u obtenerla?
‫¿Tiene sentido hacer ambas cosas?
‫Porque el volumen es algo que se calcula en función del ancho y alto y largo.
‫Ahora bien, ¿tiene sentido ajustar el volumen directamente?
‫Bueno, no, yo diría que sí.
‫Creo que ajustar el volumen ni siquiera tiene sentido.
‫Entonces podríamos deshacernos de todo este centro y solo tener un captador.
‫Ahora, el volumen en sí, nunca configuramos el volumen.
‫Siempre está calculado.
‫Entonces, ¿tiene sentido devolver el volumen?
‫Bueno, realmente no es así, porque en realidad lo que deberíamos hacer aquí en
‫este punto, deberíamos calcular que el volumen va a ser la multiplicación de longitud, altura y con lo mismo.
‫Así que ahora es mucho más significativo.
‫Entonces, lo que regresamos con el volumen es mucho más significativo.
‫Si alguien quiere obtener el volumen, eso es lo que está obteniendo.
‫Ahora, por supuesto, creamos un pequeño error aquí en la parte inferior o algunos métodos get volume que ya no necesitamos, y
‫al mismo tiempo aquí con ahora es la propiedad a la que accedemos.
‫No va a ser
‫El ya no verbal, porque ya no lo tenemos.
‫Y, por supuesto, en el caso de nuestro programa, ahora también podemos ajustar todo, por lo que ahora
‫podemos acceder al Wi-Fi directamente y podemos acceder a la propiedad de volumen directamente y ya no a la variable de miembro de volumen.
‫Está bien.
‫Así que ahora hagamos un paso final aquí.
‫Y eso es para agregar un constructor, entonces caja pública.
‫Y.
‫Largo y alto y terminan con.
‫Entonces, ahora si creamos una caja, quiero tener todos esos valores y la longitud que se me
‫da una vez que se crea la caja debe ser esta esa longitud, entonces la altura que se le da a esta esa altura debe ser la
‫altura.
‫Entonces, la altura que se da, esta debería ser la altura que tenemos aquí, que es nuestra variable
‫miembro.
‫Y nuestro con es el final.
‫Y esta es la propiedad.
‫Entonces lo dijimos al ancho que se nos da.
‫Ahora, en este caso, por supuesto, puede omitir esta palabra clave con la que puede decir, porque también
‫es obvio que estamos hablando de la propiedad de esta clase.
‫Así que no necesitas esta palabra clave aquí.
‫Ahora, algo importante que alguien preguntó y realmente quería dejar esto en claro.
‫Así que funciona esa longitud igual a la longitud, pero la longitud es igual a esto.
‫Esa longitud no tiene sentido.
‫Entonces, esta línea aquí no tiene sentido porque la longitud es esta parte aquí, que en realidad es solo un parámetro y es el
‫valor que se nos da.
‫Entonces no queremos ajustar el valor que se nos da, pero queremos establecer el valor de nuestra propiedad o
‫de nuestra variable miembro.
‫Y eso es lo que hacemos aquí.
‫Entonces, y en este caso, eso es lo que hacemos.
‫Establecemos el valor de nuestra variable miembro.
‫Muy bien, ahora usemos este cuadro como cuadros de creación, porque ahora ya no necesitamos hacer todo eso.
‫Ya no necesitamos establecer los valores directamente, pero podemos establecerlos en la creación de nuestro cuadro.
‫Así que solo voy a asignar valores tres, cuatro y cinco.
‫Entonces la longitud es tres para ocultar o en realidad la altura es cuatro.
‫Y con este cinco.
‫Y ahora, si ejecutamos esto, nos mostrará el ancho y el volumen.
‫Para que estés con este cinco volumen es 60.
‫Está bien.
‫Eso parece funcionar.
‫Ahora, lo que podemos hacer es empezar accediendo a nuestra propiedad.
‫Digamos que ahora establecemos el ancho en diez y ejecutamos este código nuevamente.
‫Y simplemente jugamos con una vez más, para que podamos ver que se imprime el valor predeterminado que se proporcionó y luego
‫el nuevo valor que establecimos, por lo que establecemos con 210 y ahora dice el valor y está calculando
‫el con en consecuencia.
‫Entonces, tres veces, cuatro veces diez son 120.
‫¿Está bien el nuevo volumen? Lo que hicimos fue crear, en primer lugar, un montón de no
‫variables.
‫Los hicimos privados para que nadie, excepto esta clase, pueda acceder a ellos directamente.
‫De acuerdo, ninguna otra clase puede acceder a ellos directamente.
‫Solo pueden acceder a ellos a través de nuestras propiedades que creamos o mediante nuestros establecedores y captadores.
‫Así que tenemos la longitud establecida en gran medida.
‫Entonces, si alguien quiere acceder a la variable de longitud, debe seguir el camino de usar la longitud establecida y obtener la
‫longitud.
‫Este es un enfoque totalmente válido y lo verá.
‫Y sí, con esos enfoques, puede definir la lógica que desea que se siga.
‫Si alguien quiere, por ejemplo, establecer una variable o si quiere obtener una variable.
‫Ahora, otra forma de hacerlo es usar directamente una propiedad.
‫Entonces, si usa una propiedad, debe llamarla con una letra mayúscula y luego
‫puede implementar un getter, etc. Pero también puede decidir implementar solo un captador
‫o solo implementar una letra o no, por supuesto, implementar ambos aquí.
‫También puede establecer los valores directamente para que pueda establecer las variables miembro.
‫Así que esto es lo que hicimos aquí.
‫Por así decirlo, agregando una puerta de enlace llamada altura, que es nuestra propiedad a nuestra altura que creamos aquí en la
‫parte superior, que es nuestra variable miembro, o simplemente fuimos por la ruta directa donde dijimos,
‫OK, dirigiremos.
‫Aquí tenemos una propiedad implementada automáticamente muy simple y no necesitamos tener una variable miembro adicional para ella.
‫Podríamos haber hecho todo el camino para que todas esas variables solo tuvieran propiedad, por lo que podríamos haberlo hecho
‫muy simple.
‫Pero solo tener tres propiedades como.
‫Esto es así deshacerse de todo eso y simplemente tener un doble toque público o de relaciones públicas y esta sería la longitud que se
‫establecería y luego lo mismo para la altura y así sucesivamente.
‫Pero solo quería mostrarte todas las diferentes formas que existen y todas las diferentes formas
‫que verás.
‫Y la mayoría de las veces, cuando ve algo o cuando usa propiedades, verá la mayor parte del
‫tiempo así.
‫Entonces, con la propiedad implementada automáticamente, ¿cuál es la forma más fácil y rápida?
‫No necesitará usar todos los enfoques diferentes que le mostré que son
‫realmente importantes, no necesitará usar todas las estructuras diferentes, pero en algunos casos necesitará implementar el
‫centro.
‫En algunos casos es necesario implementar el orden específico y ahora sabe cómo hacerlo.
‫En resumen, si tiene alguna pregunta, ¿por qué necesitaría este enfoque?
‫Bueno, solo se usan cuando no se requiere lógica adicional en los descriptores de acceso a la propiedad.
‫Y las definiciones de propiedad y.
‫Sí.
‫Getters y setters.