Me volaste la cabeza maestro, arranqué con Java hace poco y me introdujiste hacia la verdadera lógica y esencia de POO que no me terminaba de cerrar, así es como debería resolver todos los ejercicios integradores y hacia eso voy. Impecable, nada más que decir.
Muchas gracias hermano!! He seguido toda la playlist religiosamente hasta este video, y es un ejercicio muy retador que recopila todo lo visto previamente. Se me ha dificultado un poco pero repetiré el video cuántas veces sea necesario hasta conseguirlo
Muchas Gracias por tu claridad y paciencia para explicar conceptos, estoy viendo la serie entera. Estoy en la facultad cursando POO y los profes que tengo son SR pero explicando dejan mucho que desear. Ojala crezca el canal porque te lo mereces. Te seguí en LinkedIn, mi nombre es Gustavo. Saludos!
Hola, recién comienzo con POO pero solo encontraba ejercicios muy fáciles hasta que me tope con esto y hay me di cuenta que me falta mucho por aprender. Todavía, no tuve la oportunidad de ver tus anteriores videos pero si estas dando este tipo de ejercicio supongo que ya lo enseñaste, me motiva mucho en ver cada uno para poder tener este conocimiento que tienen al realizar este ejercicio. Muchas gracias
Muchas gracias por tu aporte. Me parto de risa cuando después de varias estalladas de cabeza para intentar asimilar la complejidad de todas las relaciones del planteamiento dices " para los más avanzados ... saldo = saldo - monto es lo mismo que : saldo -= monto".
Charly gracias por tus clases, vi y practique todos los videos anteriores sin embargo en este me voló la cabeza al pensar que había aprendido todo , hice el ejercicio por mi cuenta antes de ver el video sin embargo lo que hiciste fue muy superior a mis espectativas. Un abrazo enorme profe.
Excelente video!!! De los mejores Yo trate de hacerlo sin mirar la solución, y parece que me salió muy similar, con excepción de que personalice las cuotas de cada entidad financiera.
Buenísimo el video!!👏 Me quemó el cerebro de la mitad del video en adelante🤯, pero mañana lo reveo para fijar un poco más todo el proceso. Muchas gracias por el contenido!!🙏
Hola @CharlyCirnino tienes un talento maravilloso para explicar, hasta haces que parezca fácil programar, gracias por eso . Tengo una consulta, en uno de tus videos dices que no siempre es necesario agregar Setter y Getter, incluso mostraste que desde source se puede insertar en el código, casi automático si es que uno así lo requiere. Pero haciendo esto sin los setter y Getter mi programa no compilaba, y compilo hasta que se lo hice a todos los atributos. Sabes qué pudo haber pasado?
Hola. Gracias por tus palabras. Si tu código no compilaba sin getters/setters es porque en algún lado se estaban llamando seguramente. Habría que fijarse dónde. También, a nivel avanzado, algunos frameworks acceden de manera implícita a las propiedades de los objetos mediante getters/setters, siendo necesarios, pero no creo que sea tu caso, pues estos videos y ejercicios son introductorios, sin usar librerías externas ni frameworks. Saludos
Como siempre, gran explicación y ayuda para cristalizar los conocimientos. Una duda, todo los valores de los atributos son ingresados por el programador, para fines del ejemplo y enseñanza, pero si fuera el usuario el que ingresa los valores, ¿dónde se solicitan los inputs, en la clase Principal a través de variables?
En un caso real, los datos llegan de una base de datos, una petición HTTP, etc... Java se usa en el backend, por ende, el usuario no va a usar la consola
Ahora con Lombok, todas las clases con @Data y tu tan cuidadoso con los Getters y Setters, jajaja. Se me rompe la cabeza. Y tiene sentido, el otro día en una prueba técnica, me hicieron manipular una lista creando métodos add y remove porque la lista no tenía un Getter.
No hay que ser dogmático, los JavaBeans por ejemplo son un estándar que define que tiene que haber getters y setters para cada atributo... Acá lo que trato es de no abusar de que todo lo haga una sola clase que les pida a los demás siempre sus datos sino delegar responsabilidades. Todos los objetos hacen parte de la lógica para llegar al resultado final, se distribuye, no se centraliza. Pero bueno, a medida que vas aprendiendo notás que hay patrones que se contradicen con otros y, al fin y al cabo, tenemos que decidir qué usar en cada circunstancia. No hay verdades absolutas :)
Hola Charly! Estoy siguiendo la lista de reproducción en el orden en que se presenta, y me doy cuenta que en este video utilizas enums y antes de este video no los habias mencionado. Hay que ver los vídeos de enums que tienes después de este? Saludos y gracias por todo 😊
Hola Jesús, es cierto, no quedó bien ordenada la playlist. Te sugiero veas solo el primer video de enums (son 3), con ese te basta para entender este ejercicio. Saludos
Hola Charly 😃 vengo siguiendo la lista de reproducion desde el principio y queria saber si para hacer este ejercicio tendria que ver los videos de arraylist y enums primero
Hola, no hace falta, este ejercicios está pensado para integrar los primeros conceptos y a partir de aquí sí ver ArrayList. El orden de la playlist es consistente. Saludos y gracias por ver 😊
Hola Charly tomé el enunciado e hice el ejercicio por mi cuenta para luego compararlo con el tuyo y noté algo. A la hora de descontar el saldo, no debería descontar el monto de la cuota en lugar del monto total? es decir, en la vida real se pagaría en el resumen de la tarjeta el monto de la cuota y no el total de la compra. A lo mejor yo lo malinterpreté o lo estoy sobrepensando mucho jeje, igualmente entiendo que el objetivo del vídeo es enseñarnos como trabajar con objetos y que por cierto me ayudó un montón, felicitaciones por el buen trabajo!
Hola. El saldo de la tarjeta es el monto que todavia podes gastar, no el valor que te vendría en el resumen. Si mi saldo es 1000 , solo puedo comprar algo de 1000 o menos. Luego, cuantas más cuotas, más tiempo tengo para pagar pero también más tardaré en recuperar el saldo completo para gastar en otra cosa 😉 Saludos
maestro geniales tus videos pero me surgió algo. cuando yo tengo un saldo de tarjeta inferior al monto y por ende busco que el objeto ticket me retorne nulo no lo hace, me genera en el main un nullpointerexception, es decir me da un error y no me muestra como a vos el null en consola.
@@CharlyCimino Maestro muchas gracias por responder, efectivamente era ese el error. yo en vez de mostrar por consola el objeto ticket que retornaba de efectuarPago()(con el valor nulo) trataba de mostrar el toString de Ticket.
@@Alfrericotero claro, si ticket es null, lanza la excepción. Otra cosa es intentar mostrar una variable con println(). Ya tiene previsto que pueda haber nulos ese método. Lo develó en el vídeo de 'toString es polimorfismo'
Hola profe, como esta? pregunta: Por que en Ticket ticketGenerado lo instancia con posnet.efectuarPago( ) en lugar de Ticket ticketGenerado = new Ticket(nombreApellido, montoTotal, montoPorCuota); ?? no logro darme cuenta
El objeto Ticket lo genera el Posnet y lo retorna cuando se efectúa un pago. ¿Por qué generarías un Ticket fuera del Posnet y además qué valores le pondrías a cada atributo?
@@CharlyCimino ahh, es verdad ! efectuarPago( ) retorna un Ticket, jamas lo hubiera pensado así jaja menos teniendo en mente que cada vez que se instancia una clase creí que obligatoriamente había que hacer new Ticket( ); pero viendolo de esa manera tiene sentido Muchas gracias Charly !! Sos el mejor, cada vez disfruto más de aprender Java por tus videos, saludos
@@maximilianosantucho4593 exacto, para instanciar hay que usar new. Creo que tu confusión radica en que estás acostumbrado a que siempre asignas a una variable una instancia construida en el momento. Este caso te demuestra que no necesariamente: en una variable se puede guardar una referencia a un objeto que por ahí está en otra variable o que retornó un método. Recordá que la POO es muy diversa, no se aprende de memoria ! Abrazo 🫂
Volvi a ver este video y tengo una pregunta que tal vez no tenga que ver con el ejercicio que se presenta de forma sencilla para que la explicación se entienda: aqui muestras que desde un enunciado pasas a uml y luego lo traduces a código java pero, ¿En que parte iria el pseudocódigo o ya no seria necesario? por ejemplo yo entiendo que despues de analizar el enunciado y generar el diagrama uml se tendria que escribir pseudocodigo (que no depende de ningun lenguaje de programación) para todos los objetos, atributos y metodos de cada clase, hacer pruebas de escritorio y finalmente traducirlo al lenguaje que vayamos a utilizar (que en este caso seria java pero podría ser otro).
En ese caso el vídeo duraría más de una hora y no tendría tantas vistas. Además el pseudocódigo es solo un proceso intermedio pero cuando ya se tiene experiencia se puede saltear
@@CharlyCimino es decir que pasariamos a escribir código directamente ¿verdad? muchas graxias por aclararme la duda ya uqe he estado ahciendo pseudocódigo y como recien voy aprendiendo UML no estaba seguro basandome en el ejemplo en que parte iria el pseudocódigo y si seria necesario incluirlo o no.
Tengo una duda, ¿Que pasaría si en el constructor del objeto persona no se escribieran valores en sus parámetros?, ¿O que se pasara por parámetro algo como esto: "" ?, ¿No se tendría que validar también que no se pueden dejar datos en blanco igual para el objeto tarjeta de crédito?. Tal vez suene tonto ya que una tarjeta de crédito siempre tiene que tener un titular (persona) indicando todos sus datos y que no puede existir una tarjeta de crédito sin titular. Tal vez yo no analice bien este ejercicio y dado el mismo para esta situación no se necesario validar los datos del objeto persona que esta como titular de una tarjeta de crédito. Lo mismo con la tarjeta de crédito que seria ilógico que no tuviera una entidad bancaria o un numero de tarjeta. Lo del saldo si lo entendí ya que para poder pagar algo desde el posnet, este debe de verificar que la tarjeta tenga el saldo suficiente para cubrir el costo.
Todos los datos que llegan por parámetro en un constructor o método público deben ser validados. No se hizo tanto énfasis en eso en este ejercicio para no hacer muy largo el video. Saludos
@@CharlyCimino ya veo, es decir que ademas de un método, ¿También se pueden validar datos en el constructor?, por ejemplo, dentro del constructor se podría validar que los parámetros no estén en blanco.
@@victorevangelista8656 exacto, de hecho el constructor es también un método. Lo ideal sería que llame a los setters y que éstos sean los que tiene validación
@@CharlyCimino ya veo, que interesante, pensé que solo en el constructor se usaba para inicializar los valores de los atributos de la clase. No sabía que también se podía llamar a métodos en el. Gracias por responder a mi duda!!!! Veo que aún me falta mucho por aprender.
@@CharlyCimino una pregunta más, mencionas lis setters para validar al ingresar datos en el constructor. Si los datos que se pasan no son datos en blanco, entonces se asignan, pero si están en blanco, tal vez se tendría que dar un valor por defecto o en su caso indicar mediante un mensaje que lis datos no son válidos pero también se tendría que validar antes de asignar el objeto persona a la tarjeta??? Es decir si los datos del objeto persona son válidos se asignar y se pasa el objeto persona al objeto tarjeta pero en caso contrario si los datos del objeto persona no son válidos entonces no se podrá pasar al objeto tarjeta. No sé si esto esté bien.
Se que no es el tema del video pero, comencé con programación estructurada y venía a pedirte recomendación sobre libros, cursos o cualquier otra cosa que me pudiera ayudar a entender éste paradigma, de antemano te agradezco tu colaboración
@@CharlyCimino okpero aun asi, ¿Para este ejemplo si seria correcto el colocarlo en el diagrama o al hacerlo estariamos agregando información que no aportaria nada relevante?
@@victorevangelista8656 los diagramas UML son para los humanos, no para las máquinas. Se pone o se saca info a discreción, de acuerdo a si ayuda a entender mejor o no
🙌 ¡APOYÁ AL CANAL! Si te gusta mi contenido, invitame un cafecito 😁
➡ Desde Argentina: cafecito.app/charlycimino
➡ Fuera de Argentina: paypal.me/charlycimino
📌 Dejá tu comentario 📝, dale 'like' 👍, suscribite al canal 👥 y activá la campanita 🔔 ¡GRACIAS!
🤳 ¡Seguime!
🌏WEB PERSONAL: charlycimino.com 🌏
🌎INSTAGRAM: instagram.com/charlycimino 🌏
🌍FACEBOOK: facebook.com/charlyycimino 🌏
🌏LINKEDIN: linkedin.com/in/charlycimino 🌏
🌏GITHUB: github.com/CharlyCimino 🌏
🌏TWITCH: www.twitch.tv/charlycimino 🌏
🌏PATREON: patreon.com/charlycimino 🌏
El mejor planteo de POO que vi en youtube hasta ahora(tanto el ejercicio como la resolucion).
Desde ya muchas gracias maestro
Me volaste la cabeza maestro, arranqué con Java hace poco y me introdujiste hacia la verdadera lógica y esencia de POO que no me terminaba de cerrar, así es como debería resolver todos los ejercicios integradores y hacia eso voy. Impecable, nada más que decir.
Muchas gracias hermano!! He seguido toda la playlist religiosamente hasta este video, y es un ejercicio muy retador que recopila todo lo visto previamente. Se me ha dificultado un poco pero repetiré el video cuántas veces sea necesario hasta conseguirlo
Muchas Gracias por tu claridad y paciencia para explicar conceptos, estoy viendo la serie entera. Estoy en la facultad cursando POO y los profes que tengo son SR pero explicando dejan mucho que desear. Ojala crezca el canal porque te lo mereces. Te seguí en LinkedIn, mi nombre es Gustavo. Saludos!
Esto es oro puro, gran video!, nada parecido por lo que vi en youtube.
Hola, recién comienzo con POO pero solo encontraba ejercicios muy fáciles hasta que me tope con esto y hay me di cuenta que me falta mucho por aprender. Todavía, no tuve la oportunidad de ver tus anteriores videos pero si estas dando este tipo de ejercicio supongo que ya lo enseñaste, me motiva mucho en ver cada uno para poder tener este conocimiento que tienen al realizar este ejercicio. Muchas gracias
Me alegro que te guste. Te dejo el link de.la.playlist para arrancar desde -10: ruclips.net/p/PLOw7b-NX043aSC7ZNtEuVfY8xZoNzVqdJ
Muchas gracias por tu aporte. Me parto de risa cuando después de varias estalladas de cabeza para intentar asimilar la complejidad de todas las relaciones del planteamiento dices " para los más avanzados ... saldo = saldo - monto es lo mismo que : saldo -= monto".
Charly gracias por tus clases, vi y practique todos los videos anteriores sin embargo en este me voló la cabeza al pensar que había aprendido todo , hice el ejercicio por mi cuenta antes de ver el video sin embargo lo que hiciste fue muy superior a mis espectativas.
Un abrazo enorme profe.
Suele pasar en este paradigma. Seguí adelante. Abrazo y gracias
INCREIBLE ESTA PRACTICA! HERMOSISIMO. GRACIAS.
Excelente video!!!
De los mejores
Yo trate de hacerlo sin mirar la solución, y parece que me salió muy similar, con excepción de que personalice las cuotas de cada entidad financiera.
Sabes que ando necesitando , mas ejercicios de este tipo pero implementando clases servicios por cada entidad.
Impresionante clase! muchas gracias
Me encantan estos cursos, las explicaciones son a lujo de detalle, no falta nada, muchísimas gracias 👍
excelentes videos, con este curso he aprendido mas que en clases presenciales... muchas gracias...
Gracias Charly, y cómo decís mas allá del proyecto me quedaron varias cosas válidas de cómo ir encarando el desarrollo de un programa.
Buenísimo el video!!👏 Me quemó el cerebro de la mitad del video en adelante🤯, pero mañana lo reveo para fijar un poco más todo el proceso. Muchas gracias por el contenido!!🙏
Que excelente explicando! Te has ganado un humilde aprendiz.. Saludos
Super bien explicado, muy util. Muchisimas gracias.
Tremenda explicación y desarrollo del ejercicio. Gracias por estos vídeos
Implecable! Para ver un par de veces! Muchas Gracias
Muy bueno la verdad, no se como aun no te conocía 🙄😑😑
Excelente como explicaste el ejercicio, es como un ejercicio tipo parcial.
Buenísimo para practicar!
Hola @CharlyCirnino tienes un talento maravilloso para explicar, hasta haces que parezca fácil programar, gracias por eso . Tengo una consulta, en uno de tus videos dices que no siempre es necesario agregar Setter y Getter, incluso mostraste que desde source se puede insertar en el código, casi automático si es que uno así lo requiere. Pero haciendo esto sin los setter y Getter mi programa no compilaba, y compilo hasta que se lo hice a todos los atributos. Sabes qué pudo haber pasado?
Hola. Gracias por tus palabras. Si tu código no compilaba sin getters/setters es porque en algún lado se estaban llamando seguramente. Habría que fijarse dónde. También, a nivel avanzado, algunos frameworks acceden de manera implícita a las propiedades de los objetos mediante getters/setters, siendo necesarios, pero no creo que sea tu caso, pues estos videos y ejercicios son introductorios, sin usar librerías externas ni frameworks. Saludos
muy bien, en un video anterior te decia que un video asi como este, gracias
Uy, que bien viene un ejercicio modelo!!!!! Gracias 😊
excelente video !!
Excelente explicación, gracias por compartir!
Excelente, muchisimas gracias.Tus videos me han sido muy valiosos.
Genial y muy didáctico este ejercicio modelo!
Gracias, por tu dedicación!
mil gracias por tu explicacion tan valiosa
sos un maquina
Como siempre, gran explicación y ayuda para cristalizar los conocimientos. Una duda, todo los valores de los atributos son ingresados por el programador, para fines del ejemplo y enseñanza, pero si fuera el usuario el que ingresa los valores, ¿dónde se solicitan los inputs, en la clase Principal a través de variables?
En un caso real, los datos llegan de una base de datos, una petición HTTP, etc... Java se usa en el backend, por ende, el usuario no va a usar la consola
Gracias.@@CharlyCimino
Gracias Charly ;)
Messirvee! seguí subiendo videos!
Ahora con Lombok, todas las clases con @Data y tu tan cuidadoso con los Getters y Setters, jajaja. Se me rompe la cabeza. Y tiene sentido, el otro día en una prueba técnica, me hicieron manipular una lista creando métodos add y remove porque la lista no tenía un Getter.
No hay que ser dogmático, los JavaBeans por ejemplo son un estándar que define que tiene que haber getters y setters para cada atributo... Acá lo que trato es de no abusar de que todo lo haga una sola clase que les pida a los demás siempre sus datos sino delegar responsabilidades. Todos los objetos hacen parte de la lógica para llegar al resultado final, se distribuye, no se centraliza. Pero bueno, a medida que vas aprendiendo notás que hay patrones que se contradicen con otros y, al fin y al cabo, tenemos que decidir qué usar en cada circunstancia. No hay verdades absolutas :)
@@CharlyCimino Gracias por tu respuesta!
Hola Charly! Estoy siguiendo la lista de reproducción en el orden en que se presenta, y me doy cuenta que en este video utilizas enums y antes de este video no los habias mencionado. Hay que ver los vídeos de enums que tienes después de este?
Saludos y gracias por todo 😊
Hola Jesús, es cierto, no quedó bien ordenada la playlist. Te sugiero veas solo el primer video de enums (son 3), con ese te basta para entender este ejercicio. Saludos
Hola Charly 😃 vengo siguiendo la lista de reproducion desde el principio y queria saber si para hacer este ejercicio tendria que ver los videos de arraylist y enums primero
Hola, no hace falta, este ejercicios está pensado para integrar los primeros conceptos y a partir de aquí sí ver ArrayList. El orden de la playlist es consistente. Saludos y gracias por ver 😊
uff tremendo!
Hola Charly tomé el enunciado e hice el ejercicio por mi cuenta para luego compararlo con el tuyo y noté algo. A la hora de descontar el saldo, no debería descontar el monto de la cuota en lugar del monto total? es decir, en la vida real se pagaría en el resumen de la tarjeta el monto de la cuota y no el total de la compra. A lo mejor yo lo malinterpreté o lo estoy sobrepensando mucho jeje, igualmente entiendo que el objetivo del vídeo es enseñarnos como trabajar con objetos y que por cierto me ayudó un montón, felicitaciones por el buen trabajo!
Hola. El saldo de la tarjeta es el monto que todavia podes gastar, no el valor que te vendría en el resumen. Si mi saldo es 1000 , solo puedo comprar algo de 1000 o menos. Luego, cuantas más cuotas, más tiempo tengo para pagar pero también más tardaré en recuperar el saldo completo para gastar en otra cosa 😉 Saludos
👏👏👏👏
genial
maestro geniales tus videos pero me surgió algo.
cuando yo tengo un saldo de tarjeta inferior al monto y por ende busco que el objeto ticket me retorne nulo no lo hace, me genera en el main un nullpointerexception, es decir me da un error y no me muestra como a vos el null en consola.
Evidentemente estás queriendo acceder a una referencia nula. Debes fijarte qué línea te marca que está fallando y revisar si no hay un null ahí.
@@CharlyCimino Maestro muchas gracias por responder, efectivamente era ese el error.
yo en vez de mostrar por consola el objeto ticket que retornaba de efectuarPago()(con el valor nulo) trataba de mostrar el toString de Ticket.
@@Alfrericotero claro, si ticket es null, lanza la excepción. Otra cosa es intentar mostrar una variable con println(). Ya tiene previsto que pueda haber nulos ese método. Lo develó en el vídeo de 'toString es polimorfismo'
Hola profe, como esta? pregunta: Por que en Ticket ticketGenerado lo instancia con posnet.efectuarPago( ) en lugar de
Ticket ticketGenerado = new Ticket(nombreApellido, montoTotal, montoPorCuota); ?? no logro darme cuenta
El objeto Ticket lo genera el Posnet y lo retorna cuando se efectúa un pago. ¿Por qué generarías un Ticket fuera del Posnet y además qué valores le pondrías a cada atributo?
@@CharlyCimino ahh, es verdad ! efectuarPago( ) retorna un Ticket, jamas lo hubiera pensado así jaja menos teniendo en mente que cada vez que se instancia una clase creí que obligatoriamente había que hacer new Ticket( ); pero viendolo de esa manera tiene sentido
Muchas gracias Charly !! Sos el mejor, cada vez disfruto más de aprender Java por tus videos, saludos
@@maximilianosantucho4593 exacto, para instanciar hay que usar new. Creo que tu confusión radica en que estás acostumbrado a que siempre asignas a una variable una instancia construida en el momento. Este caso te demuestra que no necesariamente: en una variable se puede guardar una referencia a un objeto que por ahí está en otra variable o que retornó un método. Recordá que la POO es muy diversa, no se aprende de memoria ! Abrazo 🫂
@@CharlyCimino Perfecto, mas claro imposible sos un excelente profesor, te re agradezco
Volvi a ver este video y tengo una pregunta que tal vez no tenga que ver con el ejercicio que se presenta de forma sencilla para que la explicación se entienda: aqui muestras que desde un enunciado pasas a uml y luego lo traduces a código java pero, ¿En que parte iria el pseudocódigo o ya no seria necesario? por ejemplo yo entiendo que despues de analizar el enunciado y generar el diagrama uml se tendria que escribir pseudocodigo (que no depende de ningun lenguaje de programación) para todos los objetos, atributos y metodos de cada clase, hacer pruebas de escritorio y finalmente traducirlo al lenguaje que vayamos a utilizar (que en este caso seria java pero podría ser otro).
En ese caso el vídeo duraría más de una hora y no tendría tantas vistas. Además el pseudocódigo es solo un proceso intermedio pero cuando ya se tiene experiencia se puede saltear
@@CharlyCimino es decir que pasariamos a escribir código directamente ¿verdad? muchas graxias por aclararme la duda ya uqe he estado ahciendo pseudocódigo y como recien voy aprendiendo UML no estaba seguro basandome en el ejemplo en que parte iria el pseudocódigo y si seria necesario incluirlo o no.
@@victorevangelista8656 hacer el pseudo solo haría que te demores más, al hacer el UML ya tienes una guía e idea de como programarlo
Tengo una duda, ¿Que pasaría si en el constructor del objeto persona no se escribieran valores en sus parámetros?, ¿O que se pasara por parámetro algo como esto: "" ?, ¿No se tendría que validar también que no se pueden dejar datos en blanco igual para el objeto tarjeta de crédito?. Tal vez suene tonto ya que una tarjeta de crédito siempre tiene que tener un titular (persona) indicando todos sus datos y que no puede existir una tarjeta de crédito sin titular. Tal vez yo no analice bien este ejercicio y dado el mismo para esta situación no se necesario validar los datos del objeto persona que esta como titular de una tarjeta de crédito. Lo mismo con la tarjeta de crédito que seria ilógico que no tuviera una entidad bancaria o un numero de tarjeta. Lo del saldo si lo entendí ya que para poder pagar algo desde el posnet, este debe de verificar que la tarjeta tenga el saldo suficiente para cubrir el costo.
Todos los datos que llegan por parámetro en un constructor o método público deben ser validados. No se hizo tanto énfasis en eso en este ejercicio para no hacer muy largo el video. Saludos
@@CharlyCimino ya veo, es decir que ademas de un método, ¿También se pueden validar datos en el constructor?, por ejemplo, dentro del constructor se podría validar que los parámetros no estén en blanco.
@@victorevangelista8656 exacto, de hecho el constructor es también un método. Lo ideal sería que llame a los setters y que éstos sean los que tiene validación
@@CharlyCimino ya veo, que interesante, pensé que solo en el constructor se usaba para inicializar los valores de los atributos de la clase. No sabía que también se podía llamar a métodos en el. Gracias por responder a mi duda!!!! Veo que aún me falta mucho por aprender.
@@CharlyCimino una pregunta más, mencionas lis setters para validar al ingresar datos en el constructor. Si los datos que se pasan no son datos en blanco, entonces se asignan, pero si están en blanco, tal vez se tendría que dar un valor por defecto o en su caso indicar mediante un mensaje que lis datos no son válidos pero también se tendría que validar antes de asignar el objeto persona a la tarjeta??? Es decir si los datos del objeto persona son válidos se asignar y se pasa el objeto persona al objeto tarjeta pero en caso contrario si los datos del objeto persona no son válidos entonces no se podrá pasar al objeto tarjeta. No sé si esto esté bien.
Se que no es el tema del video pero, comencé con programación estructurada y venía a pedirte recomendación sobre libros, cursos o cualquier otra cosa que me pudiera ayudar a entender éste paradigma, de antemano te agradezco tu colaboración
Ah... Ya mismo me suscribo a tu canal...
El libro Deitel Deitel.
¿Por que en el código colocaste el constructor en la clase TarjetaDeCredito pero no lo colocaste en el diagrama UML?
Porque no lo consideré relevante en la explicación
@@CharlyCimino okpero aun asi, ¿Para este ejemplo si seria correcto el colocarlo en el diagrama o al hacerlo estariamos agregando información que no aportaria nada relevante?
@@victorevangelista8656 los diagramas UML son para los humanos, no para las máquinas. Se pone o se saca info a discreción, de acuerdo a si ayuda a entender mejor o no
@@CharlyCimino ok ya entiendo, muchas gracias por la respuesta amigo!!
cuate que es el DNI??
Documento Nacional de Identidad