🙌 ¡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 🌏
@cloudvisualz2 ай бұрын
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
@matiasmolina80153 ай бұрын
El mejor planteo de POO que vi en youtube hasta ahora(tanto el ejercicio como la resolucion). Desde ya muchas gracias maestro
@junma321 Жыл бұрын
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.
@enjoythelive3372 ай бұрын
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".
@gifu102 ай бұрын
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!
@gabrielalejandroorellana536610 ай бұрын
INCREIBLE ESTA PRACTICA! HERMOSISIMO. GRACIAS.
@yayimqz9858 Жыл бұрын
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.
@MarcosHernandez-ie4xd Жыл бұрын
Esto es oro puro, gran video!, nada parecido por lo que vi en youtube.
@ALaGrandeLePuseCuca023 Жыл бұрын
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
@CharlyCimino Жыл бұрын
Me alegro que te guste. Te dejo el link de.la.playlist para arrancar desde -10: kzbin.info/aero/PLOw7b-NX043aSC7ZNtEuVfY8xZoNzVqdJ
@yamilmedina248 Жыл бұрын
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.
@CharlyCimino Жыл бұрын
Suele pasar en este paradigma. Seguí adelante. Abrazo y gracias
@leoprone1Ай бұрын
Impresionante clase! muchas gracias
@jesusdanielsanchezalarcon77182 жыл бұрын
Me encantan estos cursos, las explicaciones son a lujo de detalle, no falta nada, muchísimas gracias 👍
@sabrinatecherasosa Жыл бұрын
Sabes que ando necesitando , mas ejercicios de este tipo pero implementando clases servicios por cada entidad.
@johnnyrosero16722 жыл бұрын
excelentes videos, con este curso he aprendido mas que en clases presenciales... muchas gracias...
@egaguirre Жыл бұрын
Super bien explicado, muy util. Muchisimas gracias.
@leodee32143 жыл бұрын
Implecable! Para ver un par de veces! Muchas Gracias
@leonardoherrera14742 жыл бұрын
Que excelente explicando! Te has ganado un humilde aprendiz.. Saludos
@claudioa.fuentes76743 жыл бұрын
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.
@juanjoselanza2 жыл бұрын
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!!🙏
@camilo10177 ай бұрын
Tremenda explicación y desarrollo del ejercicio. Gracias por estos vídeos
@matiloki3 жыл бұрын
Buenísimo para practicar!
@leofabioFAC2 жыл бұрын
Excelente explicación, gracias por compartir!
@HackZ2266 Жыл бұрын
excelente video !!
@missakire36233 жыл бұрын
Excelente, muchisimas gracias.Tus videos me han sido muy valiosos.
@jessramos3862 Жыл бұрын
muy bien, en un video anterior te decia que un video asi como este, gracias
@samuelgutierrez57043 жыл бұрын
Excelente como explicaste el ejercicio, es como un ejercicio tipo parcial.
@TDanisa3 жыл бұрын
Uy, que bien viene un ejercicio modelo!!!!! Gracias 😊
@Carlosdev1232 жыл бұрын
Genial y muy didáctico este ejercicio modelo!
@rockechan1523 жыл бұрын
Gracias, por tu dedicación!
@Kun.89 Жыл бұрын
Muy bueno la verdad, no se como aun no te conocía 🙄😑😑
@dianapineda31962 жыл бұрын
mil gracias por tu explicacion tan valiosa
@cxncerr Жыл бұрын
sos un maquina
@alvarog.9993 жыл бұрын
Gracias Charly ;)
@bettyretana39509 ай бұрын
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?
@CharlyCimino9 ай бұрын
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
@lionelchoque32813 жыл бұрын
Messirvee! seguí subiendo videos!
@ezequielstom67452 жыл бұрын
uff tremendo!
@S4MBENTZ2 жыл бұрын
genial
@joseacosta-yp4xs6 ай бұрын
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!
@CharlyCimino6 ай бұрын
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
@el_yisusT Жыл бұрын
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.
@CharlyCimino Жыл бұрын
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 :)
@el_yisusT Жыл бұрын
@@CharlyCimino Gracias por tu respuesta!
@christiand.1795 Жыл бұрын
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?
@CharlyCimino Жыл бұрын
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
@christiand.1795 Жыл бұрын
Gracias.@@CharlyCimino
@xgnim91 Жыл бұрын
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 😊
@CharlyCimino Жыл бұрын
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
@elcoya1294 Жыл бұрын
👏👏👏👏
@celinagoday1382 Жыл бұрын
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
@CharlyCimino Жыл бұрын
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 😊
@Alfrericotero Жыл бұрын
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 Жыл бұрын
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í.
@Alfrericotero Жыл бұрын
@@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.
@CharlyCimino Жыл бұрын
@@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'
@zx66993 жыл бұрын
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
@zx66993 жыл бұрын
Ah... Ya mismo me suscribo a tu canal...
@CeratiGilmour3 жыл бұрын
El libro Deitel Deitel.
@victorevangelista86562 жыл бұрын
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).
@CharlyCimino2 жыл бұрын
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
@victorevangelista86562 жыл бұрын
@@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.
@Francisco-me1um2 жыл бұрын
@@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
@victorevangelista8656 Жыл бұрын
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.
@CharlyCimino Жыл бұрын
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
@victorevangelista8656 Жыл бұрын
@@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.
@CharlyCimino Жыл бұрын
@@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
@victorevangelista8656 Жыл бұрын
@@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.
@victorevangelista8656 Жыл бұрын
@@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.
@maximilianosantucho45934 ай бұрын
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
@CharlyCimino4 ай бұрын
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?
@maximilianosantucho45934 ай бұрын
@@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
@CharlyCimino4 ай бұрын
@@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 🫂
@maximilianosantucho45934 ай бұрын
@@CharlyCimino Perfecto, mas claro imposible sos un excelente profesor, te re agradezco
@victorevangelista86562 жыл бұрын
¿Por que en el código colocaste el constructor en la clase TarjetaDeCredito pero no lo colocaste en el diagrama UML?
@CharlyCimino2 жыл бұрын
Porque no lo consideré relevante en la explicación
@victorevangelista86562 жыл бұрын
@@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?
@CharlyCimino2 жыл бұрын
@@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
@victorevangelista86562 жыл бұрын
@@CharlyCimino ok ya entiendo, muchas gracias por la respuesta amigo!!