Gracias a tu forma de enseñanza y la calidad de tus videos eh llegado bastante lejos en lo de programación se refiere, te agradezco todo lo que haces y encima gratis. Genio
La verdadera utilidad de las interfaces es la inversión de control, mediante inyección de dependencias. También las pruebas unitarias e integrales. Pero en definitiva, son excelentes ejemplos para iniciar! Saludos!
Mi super solución: Para evitar tener el mismo método 2 veces, en vez de tener en una interface "NumeroPatas();" y en otra interfaz también "NumeroPatas();", simplemente en la primera hay que poner "NumeroPatas();" y en la otra "NumeroPatasParaSaltar();", así podemos acceder a los 2 métodos sin hacer esa vuelta si se quisiese y ya, problema resuelto. 👀
Muy bien Juan, muy buena explicación. Aunque las interfaces son un concepto algo abstracto, se entiende perfectamente. Lo complicado para mí es saber cuando sería apropiado usarlas y cuando no sería necesario. Por lo que entiendo, no dejan de ser más que una guía que te propone un jefe de proyecto para que el resto de programadores no se olviden de implementar todos y cada uno de los métodos que se hayan establecido en esa interface. De esta manera, supongo que mantendrán la coherencia en todos lo módulos que desarrolle cada programador.
Pues es exactamente eso que mencionas. Así que un buen momento para utilizarlas es cuando eres tú quien mandas en el proyecto y quieres establecer unas directrices de diseño o guía para que el resto de programadores sepan qué métodos deben utilizar. Un saludo!
Una genial explicación de las interfaces Juan. Espero que continúes con este curso hasta el final y si fuera posible, añadieras un apartado para el trabajo de C# con SQLite. Un saludo desde Canarias.
Excelente explicación, muchas gracias, recién me doy cuenta que "el principio es un..." hace referencia al principio de sustitución de Liskov, queda tanto por aprender, ¡Gracias totales!
realmente excelente videos me tienes muy motivado, yo desarrollo en PHP pero este curso me es muy útil para saber la diferencia de sintaxis ya que debo utilizar c# en mi nuevo trabajo .
Claro!! Yo vengo de Delphi,pascal!!! Mientras aprendo sintaxis de C# tambien la practico en DELPHI para reforzar la logica. Despues me doy cuenta que el tipo que desarrollo C# es el mismo que hacia los compiladores de PASCAL.
Muchas gracias por el video! me queda una duda. Para usar el método que se repite en las interfaces (numeroPatas()) hay que prescindir del modificador de acceso Public como tu dices, para que que no se pueda acceder a los métodos desde fuera, pero resulta que también da error si se antepone el modificador de acceso Private y no entiendo porqué.
@@pildorasinformaticas que va antes y que va después para ciertas funciones en el caso mio usando batch antes va el if y el goto y si pone un resultado salta al siguiente if (lo estoy usando para crear un juego con cmd) eso mismo pero con C# y la información se exporte como archivos de .log como resultados Por eso Le estaba preguntando si podía hacer este curso por un medio donde se puedan pasar fotos y videos :/ para poderle pasar fotos y vídeos de como funcionan ciertas características d mi programa en batch y si se puede traducir a C# y como utilizar la creación de interfaz gráfica que me enreda mucho ese tema de crear la interfaz gráfica de 1 programa
Una observación con respecto a este vídeo. Es entendible que se le tenga que quitar el modificador de acceso public a los dos métodos que tienen el mismo nombre. Porque al momento de ser llamados desde fuera de la clase, el programa no sabría a cual método referirse. Mi duda es la siguiente, porque no crear dos métodos públicos uno para cada método mostrarPatas de las distintas interfaces y así podrán ser accedidos desde fuera de la clase y se cumpliría con el encapsulamiento.
Una pregunta los métodos están todos definidos (si es así me podría poner los que existe para usar el de proyecto de consola) O se crean libremente aplicando alguna regla (si es así podría explicar esas reglas)
Cuidado con lo de es-un, porque si se refiere a herencia o tener una clase padre es falso, la interfaz es un contrato que dictamina que vas a tener que implementar esos métodos y los vas a poder llamar desde una clase que los implemente , es decir que los defina. No tiene nada que ver con es un, puedes poner una interfaz llamada IUbicacion y puede ser implementada por un animal como por una mesa de tu casa. Pero sabrás que seguramente podrás acceder a las coordenadas x,y,z de ese objeto sin problemas. Como ejemplo puede entenderse, pero no estás aceptando interfaces en un método porque sea de una clase o tipo, sino porque sabes que poseen esas propiedades y métodos. Y si te pasa eso bien se puede añadir otros métodos a mayores para dejar claro de donde vienen y exponerlos como public y reutilizar los otros que van protegidos en dichos métodos. Así directamente se puede llamar a numerodepatassaltando y numeropatas dejarlo para terrestre
En efecto es es otra solución. Pero como ya lo mencionó el profesor que aunque no sea frecuente, en algún momento donde tu no tengas la libertad de cambiar de nombre a los métodos tendrás que usar este recurso.
yo he pensado lo mismo y alguien me ha hecho verlo diferente, suponte que tienes muchas (digamos unas 20) interfaces que deben implementar los metodos fetch, load y search por ejemplo, que nombre le pondrias a cada uno? ahi si se justifica Interface1.fetch() Interface2.fetch() por ejemplo.
Con todo respeto y con mi mas sincera opinión constructiva y sin animo de criticar a nadie; creo que esto de las interfaces abstractas o el usar el mismo nombre de método en diferentes instancias es un caos y yo particularmente no lo voy (al menos intentar), usar nunca. Mucho trabajo y yo busco simplicidad.
Hasta los huevos me dolieron con eso de las interfaces; si entiendo la utilidad pero que pesadilla trabajar con ellas. Para mi es una deficiencia que tiene el lenguaje, no en la figura en si sino en la implementación.
Recuerdo cuando estaba aprendiendo Java y me pasaba lo mismo. Solo espera varios años a que la experiencia te lo muestre. Te adelanto un par de cosas sobre las interfaces, clases abstractas, y demás elementos de POO. Si te fijas, todo el mundo de C#, Java, etc., tienen clases e interfaces para que tú cómo desarrollador las uses, dentro de todo esto existen patrones de diseño y arquitecturas que permiten que todo sea funcional, sin las interfaces no se podría aplicar todo ello. En tres videos es imposible que se te explique eso, porque no es propio del lenguaje, es un concepto que ha sido desarrollado durante años. Cuando termines con C# te recomiendo estudiar patrones de diseño y Arquitectura de Aplicaciones, es una materia de la carrera de ingeniería en sistemas, ahí verás que todo POO existe por algo y las interfaces son imprescindibles. Saludos.
Hola profe parece que llegue de primero una pregunta por que otro medio puede también hacer este curso es porque TH-cam está callendo y no valla a ser que cierren TH-cam así que por eso Le pregunto que si puede hacer este curso por otro medio como puede ser whatssap Será que lo podría hacer o algún otro medio que nos ayude a todos espero su respuesta
No te preocupes que TH-cam no se va a caer. Sigue por aquí. En cuanto a tu pregunta, intenta redactarla de otra forma porque de momento no la entiendo. Un saludo
@@pildorasinformaticas bueno propongo la idea de que también haga estos tutoriales por otro medio por ejemplo grupos de whatssap Porque whatssap :: porque podríamos pasarte fotos si nos ocurre algún error o pedirte ayuda con cualquier otro lenguaje Pero la pregunta es Puede hacer estos tutoriales por una Red interactiva donde se te puedan pasar fotos o vídeos (que no sea Facebook)
Estos cursos los tienes también en mi plataforma personal www.pildorasinformaticas.es En cuanto a pasarme fotos, preguntas etc es un servicio que doy solo a aquellos que me compran un curso desde mi plataforma. Tenéis que tener en cuenta que sois más de 380.000 suscriptores en este canal, más de 50.000 reproducciones diarias y más de 200 preguntas nuevas todos los días. Si tuviera que responderos a todos, necesitaría 3 clones de mi persona y no hacer nada más durante todo el día (y toda la noche). Por eso me veo obligado a cobrar por estos servicios. Un saludo!
Gracias a tu forma de enseñanza y la calidad de tus videos eh llegado bastante lejos en lo de programación se refiere, te agradezco todo lo que haces y encima gratis. Genio
La verdadera utilidad de las interfaces es la inversión de control, mediante inyección de dependencias. También las pruebas unitarias e integrales.
Pero en definitiva, son excelentes ejemplos para iniciar!
Saludos!
Juan, Awesome. Gracias y mis mas sinceras felicitaciones , esto no lo he visto en ningun libro y tengo unos cuantos.
Gracias por el comentario José. Un saludo!
Mi super solución:
Para evitar tener el mismo método 2 veces, en vez de tener en una interface "NumeroPatas();" y en otra interfaz también "NumeroPatas();", simplemente en la primera hay que poner "NumeroPatas();" y en la otra "NumeroPatasParaSaltar();", así podemos acceder a los 2 métodos sin hacer esa vuelta si se quisiese y ya, problema resuelto. 👀
Muy bien Juan, muy buena explicación. Aunque las interfaces son un concepto algo abstracto, se entiende perfectamente. Lo complicado para mí es saber cuando sería apropiado usarlas y cuando no sería necesario. Por lo que entiendo, no dejan de ser más que una guía que te propone un jefe de proyecto para que el resto de programadores no se olviden de implementar todos y cada uno de los métodos que se hayan establecido en esa interface. De esta manera, supongo que mantendrán la coherencia en todos lo módulos que desarrolle cada programador.
Pues es exactamente eso que mencionas. Así que un buen momento para utilizarlas es cuando eres tú quien mandas en el proyecto y quieres establecer unas directrices de diseño o guía para que el resto de programadores sepan qué métodos deben utilizar. Un saludo!
@@pildorasinformaticas Ahora lo entiendo todo, ¡Muchas gracias!
Una genial explicación de las interfaces Juan. Espero que continúes con este curso hasta el final y si fuera posible, añadieras un apartado para el trabajo de C# con SQLite. Un saludo desde Canarias.
Excelente explicación, muchas gracias, recién me doy cuenta que "el principio es un..." hace referencia al principio de sustitución de Liskov, queda tanto por aprender, ¡Gracias totales!
Excelente video. Gracias
Excelente trabajo profe, se ha aprendido mucho con tus cursos, gracias.
Excelente video, seguiré estudiando
Saludos Juan, buen video, complicado, pero interesante, gracias. Seguimos avanzando !!!!!
realmente excelente videos me tienes muy motivado, yo desarrollo en PHP pero este curso me es muy útil para saber la diferencia de sintaxis ya que debo utilizar c# en mi nuevo trabajo
.
PHP y C# son 💪
Python es 🥶 sheesh 🥶
Claro!! Yo vengo de Delphi,pascal!!! Mientras aprendo sintaxis de C# tambien la practico en DELPHI para reforzar la logica. Despues me doy cuenta que el tipo que desarrollo C# es el mismo que hacia los compiladores de PASCAL.
Qué monstruo, loco.
Excelente explicación!! Como siempre. Saludos
excelente explicación , saludos
Es bonito cuando llegas a numeros enteros de capitulos y sobre todo con el cliffhanger del anterior xd
Juan Disculpe la molestia usted dará coneccion a base de datos con sql server?
excelente profesor , gracias .Tienes un libro del curso ?
Me encantaria que pudieses hacer un curso de Rust
Muchas gracias por el video! me queda una duda. Para usar el método que se repite en las interfaces (numeroPatas()) hay que prescindir del modificador de acceso Public como tu dices, para que que no se pueda acceder a los métodos desde fuera, pero resulta que también da error si se antepone el modificador de acceso Private y no entiendo porqué.
No sé puede hacer eso, es como si se dejase las llaves dentro del auto, no se podría utilizar.
Es mi manera de verlo.
Podría hacer videos sobre consejos de como saber que va antes y después
A qué te refieres con qué va antes y después?
@@pildorasinformaticas que va antes y que va después para ciertas funciones en el caso mio usando batch antes va el if y el goto y si pone un resultado salta al siguiente if (lo estoy usando para crear un juego con cmd) eso mismo pero con C# y la información se exporte como archivos de .log como resultados
Por eso Le estaba preguntando si podía hacer este curso por un medio donde se puedan pasar fotos y videos :/ para poderle pasar fotos y vídeos de como funcionan ciertas características d mi programa en batch y si se puede traducir a C# y como utilizar la creación de interfaz gráfica que me enreda mucho ese tema de crear la interfaz gráfica de 1 programa
Una observación con respecto a este vídeo. Es entendible que se le tenga que quitar el modificador de acceso public a los dos métodos que tienen el mismo nombre. Porque al momento de ser llamados desde fuera de la clase, el programa no sabría a cual método referirse. Mi duda es la siguiente, porque no crear dos métodos públicos uno para cada método mostrarPatas de las distintas interfaces y así podrán ser accedidos desde fuera de la clase y se cumpliría con el encapsulamiento.
no se porque esa misma fue mi solución, aunque pensé que había otra manera mejor
Una pregunta los métodos están todos definidos (si es así me podría poner los que existe para usar el de proyecto de consola)
O se crean libremente aplicando alguna regla (si es así podría explicar esas reglas)
tengo una pregunta.
¿Se puede crear una interface en un archivo y usarlo en otro archivo (ambos separados)?
Cuidado con lo de es-un, porque si se refiere a herencia o tener una clase padre es falso, la interfaz es un contrato que dictamina que vas a tener que implementar esos métodos y los vas a poder llamar desde una clase que los implemente , es decir que los defina. No tiene nada que ver con es un, puedes poner una interfaz llamada IUbicacion y puede ser implementada por un animal como por una mesa de tu casa. Pero sabrás que seguramente podrás acceder a las coordenadas x,y,z de ese objeto sin problemas. Como ejemplo puede entenderse, pero no estás aceptando interfaces en un método porque sea de una clase o tipo, sino porque sabes que poseen esas propiedades y métodos. Y si te pasa eso bien se puede añadir otros métodos a mayores para dejar claro de donde vienen y exponerlos como public y reutilizar los otros que van protegidos en dichos métodos. Así directamente se puede llamar a numerodepatassaltando y numeropatas dejarlo para terrestre
Digo yo, no sería mas fácil cambiar el nombre a uno de los métodos? Es una solución que se puede hacer siempre
En efecto es es otra solución. Pero como ya lo mencionó el profesor que aunque no sea frecuente, en algún momento donde tu no tengas la libertad de cambiar de nombre a los métodos tendrás que usar este recurso.
yo he pensado lo mismo y alguien me ha hecho verlo diferente, suponte que tienes muchas (digamos unas 20) interfaces que deben implementar los metodos fetch, load y search por ejemplo, que nombre le pondrias a cada uno? ahi si se justifica Interface1.fetch() Interface2.fetch() por ejemplo.
👀
No habla en ningún video de MVC?
Bueno necesito tutoriales de desarrollo web conoces algún TH-camr que enseñe html javascript y Css?
En mi canal tienes cursos de HTML, JavaScript y CSS. Ve a mis listas de reproducción. Un saludo!
3:23 y si simplemente se le colocan nombres distintos a los metodos de las interfaces?, Me estoy perdiendo de algo?.
De tanto utilizar el nombre babieca se me pego
Con todo respeto y con mi mas sincera opinión constructiva y sin animo de criticar a nadie; creo que esto de las interfaces abstractas o el usar el mismo nombre de método en diferentes instancias es un caos y yo particularmente no lo voy (al menos intentar), usar nunca. Mucho trabajo y yo busco simplicidad.
Hasta los huevos me dolieron con eso de las interfaces; si entiendo la utilidad pero que pesadilla trabajar con ellas. Para mi es una deficiencia que tiene el lenguaje, no en la figura en si sino en la implementación.
Recuerdo cuando estaba aprendiendo Java y me pasaba lo mismo. Solo espera varios años a que la experiencia te lo muestre. Te adelanto un par de cosas sobre las interfaces, clases abstractas, y demás elementos de POO. Si te fijas, todo el mundo de C#, Java, etc., tienen clases e interfaces para que tú cómo desarrollador las uses, dentro de todo esto existen patrones de diseño y arquitecturas que permiten que todo sea funcional, sin las interfaces no se podría aplicar todo ello. En tres videos es imposible que se te explique eso, porque no es propio del lenguaje, es un concepto que ha sido desarrollado durante años. Cuando termines con C# te recomiendo estudiar patrones de diseño y Arquitectura de Aplicaciones, es una materia de la carrera de ingeniería en sistemas, ahí verás que todo POO existe por algo y las interfaces son imprescindibles. Saludos.
Hola profe parece que llegue de primero una pregunta por que otro medio puede también hacer este curso es porque TH-cam está callendo y no valla a ser que cierren TH-cam así que por eso Le pregunto que si puede hacer este curso por otro medio como puede ser whatssap
Será que lo podría hacer o algún otro medio que nos ayude a todos espero su respuesta
No digas...#$@_&+(!!
Cómo crees que va a caer TH-cam y qué lo van a cerrar.???
Jajaja
No te preocupes que TH-cam no se va a caer. Sigue por aquí. En cuanto a tu pregunta, intenta redactarla de otra forma porque de momento no la entiendo. Un saludo
@@pildorasinformaticas bueno propongo la idea de que también haga estos tutoriales por otro medio por ejemplo grupos de whatssap
Porque whatssap :: porque podríamos pasarte fotos si nos ocurre algún error o pedirte ayuda con cualquier otro lenguaje
Pero la pregunta es
Puede hacer estos tutoriales por una Red interactiva donde se te puedan pasar fotos o vídeos (que no sea Facebook)
Estos cursos los tienes también en mi plataforma personal www.pildorasinformaticas.es
En cuanto a pasarme fotos, preguntas etc es un servicio que doy solo a aquellos que me compran un curso desde mi plataforma. Tenéis que tener en cuenta que sois más de 380.000 suscriptores en este canal, más de 50.000 reproducciones diarias y más de 200 preguntas nuevas todos los días. Si tuviera que responderos a todos, necesitaría 3 clones de mi persona y no hacer nada más durante todo el día (y toda la noche). Por eso me veo obligado a cobrar por estos servicios. Un saludo!
@@pildorasinformaticas bueno esta bien buscaré haber quien me ayuda a solucionar mis dudas