🙌 HELP THE CHANNEL! If you like my content, invite me to a coffee 😁 ➡️ From Argentina: cafecito.app/charlycimino ➡️ From outside Argentina: paypal.me/charlycimino
Muy buenas tardes, una pregunta, tengo dudas de cuando se debería de usar super() al momento de sobreescribir un metodo. Entiendo que el super() extiende el comportamiento, pero por ejemplo en el metodo paintComponent se tiene que escribir super() y en otros metodos como actionPerformed al momento de trabajar con eventos con ActionListener y sobreescribir esos metodos, porque ese tipo de sobreescritura de metodos no llevan super?
Hola. 'super()' tal y como lo escribes se usa para invocar al constructor de la superclase, desde el constructor de una subclase (tengo un video dedicado exclusivamente a ello). No se puede poner 'super()' en un método que no sea constructor.
Si en tu ejemplo te referís a 'super.paintComponent(g);' ahí usa la palabra 'super' para desambiguar. Estás llamando a la lógica que está en la superclase desde la subclase. Como ambos métodos se llaman iguales (porque lo redefiniste), hay que anteponer la palabra 'super' para desambiaguar y evitar una recursisvidad infinita, En este video lo explico en detalle: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Z3x4TpZgCw8.htmlsi=YroVDdCV3Bo0dAsp
@@CharlyCimino Lo siento, no escribí bien lo anterior. Tengo claro lo de super() y que llama al constructor del padre. Lo que no me queda muy claro es cuando se usa super en un metodo, mi duda va más en como saber que métodos al momento de ser sobreescritos deben llevar super. En el caso de paintComponent al momento de sobreescribirlo se usa super.paintComponet(g) ya que la misma API nos indica que debemos hacerlo así y nos aseguramos que funcione bien, pero no entiendo por que en el caso del metodo actionPerformed de la interfaz ActionListener no se coloca super.actionPerformed(), sino que solo se sigue escribiendo y funciona sin problema. Acaso el actionPerformed es un metodo vacío o ya la maquina virtual de Java coloca el super implicitamente ?
@@vinicioangel7600 actionPerformed() es un método ABSTRACTO en la interfaz ActionListener. Al sobrescribirlo, no tenés nada que pedirle a la interfaz. En cambio, paintComponent es un método que sí tiene una implementación concreta. Cuando lo sobrescribís, querés asegurarte de que primero se pinten los componentes de la superclase y luego se haga lo que estás redefiniendo, por eso lo llamás. En realidad cuándo sí o cuándo no llamar al método redefinido de la superclase no es algo que pudiera contestarte de manera general. Depende qué estás usando y de cómo está implementado. Vuelvo a compartirte este enlace que por ahçi te ayuda a entender mejor cuándo usar este concepto para tus clases. Para las que ya trae Java, es cuestión de leer la documentación pertinente: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Z3x4TpZgCw8.htmlsi=YroVDdCV3Bo0dAsp
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
Con la interpolación de variables no hay necesidad de convertir la variable. Aca te dejo el código. Saludos edad = int(input("Ingresa tu edad: ")) saludo = f"tienes {edad} años" print(saludo)
Tengo un problema, no puedo editar la variable PATH, cuando hago click en editar no me aparece la misma ventana que a ti en el video, alguien sabe por que? En la ventana que me aparece no me da la opción de "Nuevo" como a tí
Increíbleeee Master !!! Me ha servido el tutorial de comienzo, he batallado para empezar a aprender, pero espero progresar😂✨ Si vuelvo, es porque me sirvió
Acabo de empezar con NetBeans y me da un error el compilador de la versión 1.5 que está obsoleta y la he cambiado a la 1.8 y no hay manera de que funcione,
Amigo, muchas gracias por estos vídeos. Le entendí mas a usted que a mi profesora. Realicé 2/3 del ejercicio, vine a ver el video para verificar si tenia bien lo que había hecho y resolver una duda sobre la ultima parte de las pasadas de alambre. Voy a seguir practicando con los demás ejercicios. Luego de ver el video cambien algunas palabras que había usado porque me gustaron mas como las expresaste. Así me quedó: Definir ancho, largo, superficie, perimetro, cantPasadas, cantAlambre Como Entero Definir precioM2, precioTerreno Como Real Escribir "el precio por metro cuadrado es: " precioM2<- ancho*largo Leer precioM2 Escribir "el ancho del terreno es: " Leer ancho Escribir "El largo del terreno es: " Leer largo cantPasadas <- 3 superficie <- ancho * largo perimetro <- 2 * ancho + 2 * largo Escribir "el area en metros cuadrados es: " superficie precioTerreno<- superficie * precioM2 cantAlambre <- cantPasadas * perimetro Escribir "la cantidad de alambre necesaria: (", cantPasadas,"pasadas).", cantAlambre Escribir "El precio del terreno es: " precioTerreno
Eres un genio explicando hermano, con la playlist de UML que tienes ahora puedo entender mejor los diagramas UML de los patrones de diseño. Saludos desde Perú.
Espectacular!! Ahora empieza el baile! Tengo que seguir consolidando todos los conocimientos, no me frustra, la repetición se me hace fundamental para consolidar los conocimientos. Gracias Charlyyyyyy!!!!!!!!