Curso Java. Interfaces y clases internas Interfaces III. Vídeo 51

Поделиться
HTML-код
  • Опубликовано: 3 ноя 2024

Комментарии •

  • @pildorasinformaticas
    @pildorasinformaticas  3 года назад +7

    ✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅
    🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/java-tutorizado/🚀
    🚀 ¿Quieres que te resuelva las dudas de Java? 👉 www.pildorasinformaticas.es/course/java-tutorizado/ 🚀
    💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥

  • @girausquin
    @girausquin 7 лет назад +104

    Yo inicie viendo de 5 a 7 vídeos por día, a un ritmo increíble, sin embargo cuando pase del vídeo 40 lo tome con calma, 1 o 2 vídeos al día con calma, inventar cualquier programa y practicar en el eclipse, soy de los que digo que la programación la practica hace al maestro.
    Actualmente voy por este vídeo, tengo como meta convertirme en un programador profesional, y créanme este curso es de lo mejor que pueden conseguir. Cuando viaje a España me tocara al menos invitarle una cena a Juan por su EXCELENTE aporte.
    Mas profesionales como tu en el mundo por favor !!!

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад +32

      Muchas gracias por tu comentario y por seguir mis vídeos. Java es una materia compleja y a medida que avances por el curso irá costando un poco más. Haces bien en tomarlo con calma. Tomo nota de la cena ;) Un cordial saludo!!

    • @girausquin
      @girausquin 7 лет назад +27

      De hecho llevo toda esta semana sin ver mas vídeos, me invente varios retos donde pusiese en practica todo lo visto hasta el momento, como un inicio de sesión (agregar, consultar, eliminar, mostrar info) con todo validado como debe ser. Allí estoy usando arrays, herencia, getters, setters, while, if, refundiciones y otras cosas mas. Creo es importante DETENERSE al llegar al vídeo 50 y dedicar 1 o 2 semanas a desarrollar pequeños programas en los cuales sientas estas preparado para seguir adelante, no se que contenido venga, pero estoy casi seguro que ahora si viene lo bueno. Saludos desde Santiago de Chile, un Venezolano muy agradecido con tu transferencia de conocimientos.

    • @osvaldoleiva678
      @osvaldoleiva678 7 лет назад +1

      Buena idea, me la tomare prestada :).

    • @lilibethcamico
      @lilibethcamico 5 лет назад +2

      Ya somos varios bastante agradecidos por tus conocimientos. Y lo transmites a todos. Eres una excelente persona, y tienes mucha metodología explicando. Simplemente me encanta y cada dia, quiero aprender más. Haces que la programación Java se vea algo medianamente manejable, me gusta tu motivación con nosotros. Gracias totales

    • @josealejandrosuarez4189
      @josealejandrosuarez4189 4 года назад +3

      Para ser profesional es importante ir a la facultad. La universidad te va a dar un marco, un nivel de comprensión tal que te va a permitir aprender cualquier cosa de manera sencilla. No por nada la gente invierte 5 años o mas en una carrera universitaria.

  • @fabricadelexito1496
    @fabricadelexito1496 7 лет назад +30

    un consejo para todos los que ven el curso, llevenlo con calma me paso que como ya casi llegaba a swing me dio ansiedad vi los videos del 50 al 55 con ansias y sin tomar apuntes y haciendo las practicas en netabeans de forma casi automatica sin estar consiente de lo que hacia y me vi obligado a devolverme, ahora voy con calma y tomando apuntes de los mas importamte y haciendo el codigo paso a paso para entenderlo y ya veo la luz

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад +4

      Las prisas nunca son buenas. Y menos aún para aprender a programar. Buen consejo. Un saludo!!

    • @jamesdiaz9740
      @jamesdiaz9740 4 года назад +1

      Ja ja me paso igual

    • @Hdilon
      @Hdilon 4 года назад

      x2

    • @jmendozadev
      @jmendozadev Год назад

      justo lo que tu escribiste, asi ando ahorita jajaja :c

  • @bdonunezn6593
    @bdonunezn6593 Год назад +2

    Eres un excelente profesor!. Como dijo alguien por ahi, ahora miro a Java con otros ojos!

  • @guillermorivadeneira385
    @guillermorivadeneira385 4 года назад +5

    Año 2020 y seguis haciendo ver la luz a futuros programadores como yo, estudio la carrera de java developer, y no tengo dudas de que mis profesores son grandes programadores, y muy exitosos y apasionados, pero creo que no tienen el don que tenes vos, y el don de la enseñanza y transmitir esas ganas e inspiracion, desde Argentina te envio un abrazo, y muchas gracias por este excelente curso

    • @TheMaverickjc29
      @TheMaverickjc29 2 года назад

      ¿En que país y que lugar dan carrera de Java developer? - Se las certificaciones de Oracle pero nunca he escuchado una carrera.

    • @guillermorivadeneira385
      @guillermorivadeneira385 2 года назад +1

      @@TheMaverickjc29 soy de Argentina, y estudiaba en un instituto llamado Educación It, no es una carrera que se dé en facultad. Si no mas bien, que está conformada por multiples cursos. Entre los que estaban: Java de 0 a avanzado, java web, java spring, webservices, html, css, javascript, react js, angular, bases de datos, hibernate, spring, git, docker, y herramientas de automatizacion entre otros.

    • @TheMaverickjc29
      @TheMaverickjc29 2 года назад

      @@guillermorivadeneira385 Que bien, aunque no sea de universidad, se escucha mejor que una - ya que al fin y al cabo la U va a estar siempre atrasada, esa carrera esta excelente xq es tope de linea, algo que en una U muy difícil se vea.

  • @zamoray123
    @zamoray123 9 лет назад +7

    Excelente.... Juan eres un mago, lei esto en un libro.... ( y quede ???#$%@##), el mismo tema lo explicas y se entiende, claro tiene su grado de dificultad....
    Gracias

  • @anyersonespana6831
    @anyersonespana6831 Год назад

    Muchas gracias, maestro, no hay manera de pagarle todo ese gran regalo al mundo que usted ha brindado. Sus habilidades de enseñanza, tiempo y dedicación. Mil Gracias y más.

  • @Ginsu
    @Ginsu 4 года назад +2

    Por lo que veo con el número de visualizaciones que baja mucho parece que muchas personas no fueron capaces de continuar. Daros ánimos a todos los que como yo han llegado aquí y a confiar en pildorasinformaticas para seguir aprendiendo.

  •  8 лет назад +12

    Explicación nivel leyenda. Gracias!

  • @enriquerb8003
    @enriquerb8003 6 лет назад +3

    Recibe un afectuoso saludo, y muchas felicitaciones por este tutorial .
    Yo veo a esto de las interfaces como cuando aprendes a manejar un auto, no se ve para que 5 velocidades si al principio no se usa
    nada mas que hasta la segunda velocidad. Después de tener experiencia en manejar te das cuenta que el auto devería de tener mas de 5 velocidades, eso lo da la experiencia y el tiempo

  • @migueleduardofernandezsevi3538
    @migueleduardofernandezsevi3538 3 года назад +1

    Un gran maestro. Ojala Dios te dé muchos años mas de vida

  • @miguelangelvasquezgarcia8235
    @miguelangelvasquezgarcia8235 2 года назад

    Gracias y saludos desde Mexico profesor Juan, agradezco el interes que pone en cada video y como hace ver tan facil el codigo, retomando el curso ya que lo habia dejado. Ahora con mas paciencia y dedicacion, muchas gracias.

  • @wilsonjavieraguilera991
    @wilsonjavieraguilera991 4 года назад

    Desde Colombia, Un saludo a Juan Diaz, tanto tiempo esperando aprender a programar y aparecio mi angel de la guarda en la programacion orientada a objetos, que me dio toda la logica de programacion, que necesitaba, cuando pase por España espero conocerlo en personal. Un abrazo.

  • @juanpamontoyav
    @juanpamontoyav 9 лет назад +2

    Grandes explicaciones Pildorasinformaticas !!!.
    Aqui seguimos avanzando poco a poco.

  • @adriancordova1618
    @adriancordova1618 3 года назад +1

    Excelente curso muy bien maestro muchas gracias. Me extraña que apenas en el video 51 de 276 sólo haya 83 mil vistas en este momento, cuando en el primer video hay ya cerca de 2 millones de vistas, ánimos no se rindan peor sería que no estuviera este curso. Saludos maestro Juan.

  • @SinNombre101
    @SinNombre101 8 лет назад +3

    Fenomenal vídeo y explicación.
    Felicidades por el gran trabajo.

  • @quik1991
    @quik1991 7 лет назад

    Muchísimas gracias Juan, me quito el sombrero por todo el trabajo que haces y lo bien que lo explicas y aplicas.
    He aprendido bastante más en 2 semanas de videos que en 6 meses en clases jaja
    Un saludo!

  • @IngenieroSistemasESEHISB
    @IngenieroSistemasESEHISB 7 лет назад +1

    muy buen tutorial, este curso de java es el mejor

  • @juanitoelchispa6492
    @juanitoelchispa6492 10 лет назад +18

    Cada vez mas complicao (!sigo con las herencias¡), cada vez mas interesante.....voy a necesitar todo el mes de Agosto y repasarlo todo para septiembre como en el colegio. (Me quedo sin playa ja,ja)
    Un saludo Juan

  • @peliculasgratis2620
    @peliculasgratis2620 8 лет назад +2

    #gracias pildorasinformaticas, estamos avanzando...

  • @felipgp7677
    @felipgp7677 9 лет назад +6

    Genial , vamos avanzando a paso firme y con el libro de java, hago ejercicio por tema!

    • @Enrique_RomeroH
      @Enrique_RomeroH 8 лет назад

      Hola compañero +Phil lip disculpa una pregunta ¿de que libro estas repasando los ejercicios? saludos

    • @felipgp7677
      @felipgp7677 8 лет назад +2

      como programar en java del libro de Deitel... no recuerdo que edicion es, hay uno en la red, revisa, asi te ayudas un monton

    • @Enrique_RomeroH
      @Enrique_RomeroH 8 лет назад

      Gracias por la información. Salu2

  • @jonatanmsanchez
    @jonatanmsanchez 4 года назад

    Buenas (tardes, noches, días) saludos desde la República Dominicana

  • @estudiantealexherrera1222
    @estudiantealexherrera1222 7 лет назад +1

    Hola Juan gracias por el vídeo excelente explicación.

  • @marcelomanaricua7454
    @marcelomanaricua7454 4 года назад +1

    Hola, muy buenos videos. La clase Jefatura al heredar de Empleado (que ya implementa Trabajadores), no necesitaria implementar Trabajadores, tambien solo podria sobreescribir el metodo.

  • @aliciav9410
    @aliciav9410 Год назад

    Excelente curso. Aunque ahora mismo atascada en el error Jefes cannot be resolt to a type. Estoy utilizando Elicpse Kepler. Confio en resolverlo.

  • @javalc3751
    @javalc3751 7 лет назад +5

    Seria interesante una lista de vídeos con retos de programación propuesto por usted, en los cuales utilicemos los temas dados, esto para fijar conocimientos, GRACIAS DE ANTEMANO

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад +4

      Sí, es mi intención ir planteando ejercicios para este curso. Es algo que ya me habéis dicho muchos de vosotros, el problema es que casi no tengo tiempo para subir vídeos y menos aún ejercicios. Pero lo haré. Un saludo!!

  • @bdonunezn6593
    @bdonunezn6593 Год назад +1

    Me gustaria que hubieran ejercicios para poner en practica lo aprendido. Yo pagaria por ellos!

  • @mauriciopriego1700
    @mauriciopriego1700 3 года назад

    Buen ejemplo, gracias.

  • @kingjj6969
    @kingjj6969 3 года назад +2

    Esto de las interfaces y herencias me encanta, me recuerda a cuando configuraba plugins para servidores de minecraft y no tenia ni idea de programación, lo hacia gracias al documento que dejaban los programadores de cómo configurarlas jajajaj

    • @mapacheee_
      @mapacheee_ 7 месяцев назад

      Yo también soy configurador y ahora estoy estudiando para ser dev en el futuro jajaj

  • @CARLOSMARIOLOPERASERNA
    @CARLOSMARIOLOPERASERNA Год назад

    Profe muchisimas gracias por su valiosa enseñanza he aprendido un monton.. las clases son demasiado comprensibles tanto en los ejemplos teoricos como en la practica. Tengo una pregunta es validasr si puede tener un metodo en el que uds nos pueda generar el codigo.. un saludo desde Medellin Colombia y gracias por su valioso tiempo.

  • @rocastone1349
    @rocastone1349 3 года назад +2

    mostruo!!! mostruo!!! hoy 2021-feb-26 los modificadores public, abstract en JRE System Library Jdk-11.0.7 para la interfas obliga a ponerlos.

  • @claudiomendieta
    @claudiomendieta 6 лет назад +1

    Disculpen la palabra. Pero que clase de "animales" son estas 4 personas que le dieron dislike a este vídeo? Esta explicación es lo más cercano a la perfección, en cuanto a explicar estos conceptos complejos de entender.

  • @jesusgacia5666
    @jesusgacia5666 4 года назад

    Excelente curso! Una pregunta estaba buscando la forma de tener desplegadas las pestañas de mi paquete en el Outline pero solo me muestra la pestaña que tengo visualizada actualmente, como hago para poder visualizar en el Outline las clases o interfaces que yo desee?

  • @jmansanetperez
    @jmansanetperez 6 лет назад +1

    Gracias.

  • @jamesdiaz9740
    @jamesdiaz9740 4 года назад

    Buen video gracias profe

  • @32link
    @32link 8 лет назад +9

    A mi me gustaría un curso de algoritmos en java :P

  • @pedrovideo3d
    @pedrovideo3d 2 года назад

    profe que buenos videos gracias ledoy portomarse el tiempo para realizar esto megustaria que subiera los video tutoriales para programar en c ,dado que conosco un poco pero se que con sugui y forma de enseñar los vacios que tengo se diciparan gracias

  • @alejandrogallardo244
    @alejandrogallardo244 6 лет назад +1

    En un video mencionó que hay que llamar a super(). para que el método "realice su trabajo", además de lo que estableceremos en su momento ¿Qué trabajo realizaría si solo hemos declarado el prototipo, sin cuerpo y sin acciones? Gracias por compartir su conocimiento.

    • @pildorasinformaticas
      @pildorasinformaticas  6 лет назад

      No se si entiendo del todo tu pregunta. Super() se utiliza para llamar al método de la clase padre. En el curso lo hemos utilizado numerosas ocasiones para llamar a métodos definidos en la API, así que habría que preguntar a los programadores de dichas clases de la API por el código de dichos métodos. Por ejemplo, el método paintComponents. Este método se encarga de dibujar en un frame y debemos llarmarlo con super() si queremos que nuestras clases dibujen en un Frame. El "cómo" está implementado el método paintComponents en la API habría que preguntárselo a quién lo hizo

  • @adrianflores8432
    @adrianflores8432 8 лет назад +6

    Maestro, una pregunta: ¿Qué ventaja o qué razón hay para usar interfaces
    para definir el bono y la toma decisiones, en lugar de simplemente
    definir un método abstracto establece_bonus en la clase empleados (lo
    cual la convertiría en una clase abstracta) y sobreescribirlo en las
    clases empleados y jefatura como corresponda, y otro método (no
    abstracto) toma_decisiones en la clase jefatura para la toma decisiones? ¿Funcionaría
    igual?

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +9

      Hola !! Si, funcionaría igual. Todo depende de lo que necesites porque si lo creas como me´todo abstracto en la clase Empleados ya estarías obligando a sobreescribirlo en todas las clases que hereden de Empleado. Tal vez es lo que necesite tu programa o tal vez no. Si no quieres tener la obligatoriedad de sobreescribir el método en todas las clases que hereden de Empleado entonces mejor una interfaz que puedes implementar a voluntad. Un saludo!!

    • @adrianflores8432
      @adrianflores8432 8 лет назад +1

      pildorasinformaticas Muchas gracias.

    • @stivenangulo1335
      @stivenangulo1335 6 лет назад +1

      disculpa, una pregunta al interfaces al implementarse en una clase no es heredada por la siguiente?
      hay veces que parece que si y otras que no
      o es opcional?

  • @josedanielsacoto5182
    @josedanielsacoto5182 7 лет назад

    tio,, eres un crack! si tuvieras uno de programacion mathlab tambien me los viera todos como he hecho con java

  • @joselosddrd
    @joselosddrd 7 лет назад +2

    Asombroso diseño de interfaces. Esta demasiado cool. Deberias hacer un curso de diseno de programacion o algo asi. Bueno como se llama eso de Diseno de programacion. Osea que todo quede tan perfecto en el codigo..? Gracias.

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад +1

      Creo que entiendo lo que dices pero yo tampoco se comos e llama. ¿Diseño optimizado? ¿Programación optimizada? No se...Un saludo!!

    • @joselosddrd
      @joselosddrd 7 лет назад

      Perfecto...Gracias :)

  • @rootclever2883
    @rootclever2883 6 лет назад +1

    Interfaces para no estar combinando mis metodos abstractos y constantes con mis clases?

  • @jesuv5875
    @jesuv5875 7 лет назад +3

    Juan por que mi eclipse me marca error con el bonus_base. Esta todo bien y no se que pasará

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад

      Sin verlo es complicado que te pueda ayudar con este tipo de problemas....¿Qué error da concretamente?

  • @designanimation
    @designanimation 8 лет назад +2

    Hola Profe! Disculpe que le haga otra consulta. En este ejemplo, hemos implementado la interfaz Trabajadores a la clase Empleados, lo cual me obliga a que la clase Empleado desarrolle el método de establece_bonus de la interfaz Trabajadores. Todo perfecto hasta ahí.
    Como la clase Jefatura hereda de Empleados, me obliga también a establecer el método de la interfaz trabajadores a la clase Jefatura?
    Mi pregunta se debe a que si una superclase hereda de una interfaz, es obligatorio que todas las subclases hereden si o si los métodos de la interfaz aplicada a la superclase?
    Muchas gracias como siempre y saludos desde Nueva Zelanda (del otro lado del planeta) ajaja

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      Hola !! No, no es necesario que la subclase implemente los métodos de la interfaz. Gran envidia la que me das. Siempre he querido visitar Nueva Zelanda. La magia de Internet hace que de alguna forma parte de mi haya llegado hasta allí. Un saludo!!

    • @designanimation
      @designanimation 8 лет назад

      Hola Profe!! Muchas gracias por su respuesta! Su canal es un verdadero sentimiento, pues nadie ha sido nunca tan claro en explicar todo este mundo nuevo, al menos para mi.
      En verdad que hace un tiempo estoy en Nueva Zelanda, y por supuesto vivir acá es un verdadero placer! Su profesión (programador) es MUY buen paga aquí! Si le gusta el señor de los anillos aquí esta hobbiton y todos los grandes lugares donde se filmaron dichos sets, así que bienvenido cuando usted lo desee o cualquier info que necesite, a sus órdenes! Saludos grande

  • @javig.verdeja3674
    @javig.verdeja3674 7 лет назад +1

    Hola Juan!! Primero felicitarte por tus videos, está todo muy bien explicado y nos sirve a muchos de gran ayuda. Segundo, te quería preguntar si podrías facilitar algún sitio donde se pueda acceder a este tipo de ejercicios para practicar, ya que yo voy haciendo lo mismo que tú en los videos pero me gustaría ponerme a prueba, a ver si soy capaz de hacer programas sencillos como este de los Empleados, por mi mismo, y saber en que cosas fallaría.
    Un saludo y muchas gracias por todo!!

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад

      Hola !! Gracias por el comentario. No sabría decirte ahora mismo páginas donde acceder a ejercicios. Ni siquiera las he buscado. Pero estoy seguro de que si preguntas a google y buceas un poco por los resultados, encontrarás alguna página con ejercicios interesantes. Yo estoy trabajando para ir subiendo más ejercicios a mi web. Un saludo!!

    • @girausquin
      @girausquin 7 лет назад +1

      @Javi conseguistes el sitio con lo que indicabas ? Si no propongo un grupo de Facebook en el cual como reto cada uno proponga un programa usando lo aprendido en X video (sencillo inicialmente) y todos compartir su código y asi ayudarnos mutuamente.

    • @orlas135
      @orlas135 7 лет назад

      Hola, ¿tienes actualmente los ejercicios que te planteaste? Quisiera también lo mismo, ponerme a prueba, pero no se me ocurre nada para ponerme a resolver o problemas que pueda resolver hasta este vídeo. Me ayudarías mucho. Un saludo.

  • @estivenmartinez576
    @estivenmartinez576 5 лет назад

    Hola Juan te hago una pregunta concreta, al implementar una interface en una clase tengo que sobreescribir todos los métodos de la interface, la pregunta es ¿ Tengo que hacerlo al igual con las constantes, tengo que implementarlas también si o si, o eso si lo puedo omitir al sobreescribir?

  • @miquelscb
    @miquelscb 8 лет назад

    Pregunta rápida para pildoras o cualquier otro usuario que sepa la respuesta.
    Has dicho que usando una Interface solo es posible generar variables constantes. ¿ Pero si deseas obligar a una clase a definir una variable concreta (por ejemplo una variable que almacene el valor de la gratificación para ser usada mas tarde), no hay forma de hacerlo ?

    • @mcsedrap9090
      @mcsedrap9090 7 лет назад

      No le veo el sentido tener que crear una variable en una clase que implemente la interfaz. Simplemente lo que puedes hacer es un metodo en la interfaz del tipo y nombre de la variable y posteriormente ponerla en la clase que herede. Así, tendrás que definir la dicha variable.
      Saludos, puede que me esté equivocando puesto que estoy empezando e intento leer y aprender. Gracias a este canal sinceramente estoy resolviendo mis dudas asi que agradezco a este maestro por sus ganas y su paciencia. Saludos desde Valencia

  • @carlosperianez4111
    @carlosperianez4111 6 лет назад +4

    Buenas profe. Pregunta que me ha surgido. Hemos visto que si Jefes hereda de Trabajadores, aquella clase que implemente Jefes se verá obligado a definir los métodos de ambas interfaces. Si Empleados implementa también Trabajadores se da la circunstancia de que si en esta clase defino el método de Trabajadores, en la clase Jefatura, a pesar de que implementa de la interfaz Jefes, ya no me obliga como lo hacía antes a definir el método setBonus. ¿Por qué se da esta situación? ¿Es porque Jefatura hereda de Empleados y por lo tanto hereda el método?
    Si esto es así, y yo quiero que sea obligatorio definir un método setBonus distinto en Jefatura, ¿cómo se podría hacer? Porque en este caso entiendo que puedo utilizar el método setBonus heredado de Empleados y sí, puedo sobreescribirlo pero no estoy obligado a hacerlo.
    Un saludo.

    • @pildorasinformaticas
      @pildorasinformaticas  6 лет назад +4

      "Si Empleados implementa también Trabajadores se da la circunstancia de que si en esta clase defino el método de Trabajadores, en la clase Jefatura, a pesar de que implementa de la interfaz Jefes, ya no me obliga como lo hacía antes a definir el método setBonus. ¿Por qué se da esta situación? "
      Respuesta: porque ya está definido. Lo has heredado de Empleados (Jefatura hereda de Empleados)
      "¿Es porque Jefatura hereda de Empleados y por lo tanto hereda el método? "
      Respuesta: Correcto
      "Si esto es así, y yo quiero que sea obligatorio definir un método setBonus distinto en Jefatura, ¿cómo se podría hacer?"
      Respuesta: En ese caso no queda más remedio que definir una tercer interfaz con el método setBonus y que Jefatura implemente esa nueva interfaz.
      Un saludo!

    • @carlosperianez4111
      @carlosperianez4111 6 лет назад +1

      Perfecto. Todo aclarado. ¡Muchas gracias!

  • @Rk2o92
    @Rk2o92 7 лет назад

    pero solo estaría obligado a q de implemente en jefatura y que pasaría con empleado? y si primero lo implemento en empleado y no en jefatura? no abría error en la subclase jefatura. no se si se entiende

  • @IndigenaGarcia
    @IndigenaGarcia 7 лет назад

    Ey PildorasInformaticas como ves usar IntelliJ IDEA 2017??

  • @tuercebotasexigente
    @tuercebotasexigente Год назад +1

    Hola, ¿cómo os va?
    Me estoy encontrando con que, tras definir todo el árbol de interfaces y clases, o sea, haciendo que la interfaz Jefes herede de la interfaz Trabajadores y luego implementando la interfaz Trabajadores en la clase Empleado y la interfaz Jefes en la clase Jefatura, que a su vez hereda de la clase Empleado, de esta manera el IDE no me obliga a sobrescribir el método "establece_bonus" en la clase Jefatura, si no que simplemente lo hereda directamente de la super clase (Empleados). Que luego se puede sobrescribir, por supuesto, pero sería una opción hacerlo y no una imposición.
    ¿Qué se me está escapando? Agradezco cualquier tipo de ayuda. :D

    • @tuercebotasexigente
      @tuercebotasexigente Год назад

      Puede que en el futuro, cuando tenga más conocimientos y experiencia llegue a otras conclusiones. Pero a día de hoy, bajo mi inexperiencia y desconocimiento actual, he llegado a la conclusión de que, mediante esta jerarquía, no podemos obligar a sobrescribir el método en la clase Jefatura porque lo va a a heredar directamente de la superclase. Como alternativa se me ocurre comentar el método dejando constancia de que ha de ser sobrescrito en la subclase. También creo que se podría hacer, siempre que la subclase Jefatura ya esté creada, sobrescribir en ella el método indicando en un comentario que debe ser desarrollado en la subclase y lanzando una excepción que haga que no se pueda utilizar el método de la clase Empleado:
      @Override
      public double establece_bonus(double gratificacion) {
      // Este método debe ser sobrescrito
      throw new UnsupportedOperationException("Este método debe ser sobrescrito y desarrollado específicamente para los jefes");
      }

  • @kevinsboboda
    @kevinsboboda 2 года назад +1

    por que cuando pongo bonus_base en la clase jefatura funciona igual sin poner trabajadores.bonus_base?? hay que poner igual la clase interna por mas que funciones sin ponerlo en el return
    public double establece_bonus(double gratificaciones) {
    double prima= 2000;
    return bonus_base+prima+gratificaciones;
    }

    • @tuercebotasexigente
      @tuercebotasexigente Год назад

      Tengo la misma duda justo ahora. ¿Llegaste a alguna conclusión? La mía, desde el desconocimiento, es que con el paso de los años desde que se desarrolló el video, tal vez se haya desarrollado algo en las nuevas versiones de java que permita utilizar la constante definida e inicializada en la interfaz, sin necesidad de referenciar dicha interfaz. Será capaz de sobreentender que proviene de ahí. Pero no sé, tal como digo, es una conclusión hecha desde la ignorancia, por lo que seguramente esté equivocada.

  • @andressapatanga9481
    @andressapatanga9481 5 лет назад +1

    Yo estoy usando el IDE de NetBens y siempre me pide que use el @Override para sobrescribir los métodos que se implementan o que se heredan ya sea de una interfaz o de una clase abstracta, mi pregunta es ¿No es necesario usar esa palabra reservada?, ya que pienso que me pide por la sintaxis, o ¿Porqué no pide eclipse que sea añadido el @Override?. Disculpen resién estoy aprendiendo y quisiera saber si es importante o no esa palabra. Gracias y saludos del 2019.

    • @Zakaros1000
      @Zakaros1000 5 лет назад

      he seguido todo el curso con el netbeans 8, y lo de override aparece como el mensajito de alerta para agregar dicho comando que lo único que hace es resaltar más el método que esta sobrescribiendo perteneciente a una interface, una clase padre, o una clase abstracta de la cual esta heredando. Con eso es más resaltable para el programador encontrar dichos métodos en el código de la clase y además te cambia el símbolo de alerta por un pequeño circulito vede con una (i) en la cual te da un acceso directo a la clase que contiene al método que se esta sobrescribiendo. Si lo dejas tal y como esta en este video sin usar override igual funciona, si aceptas la sugerencia de netbeans tampoco altera el funcionamiento. No se si alguien mas conoce alguna otra diferencia que pueda ocasionar agregar el codigo @override sugererido por netbeans.

    • @Zakaros1000
      @Zakaros1000 5 лет назад

      yo en lo personal prefiero aceptar la sugerencia del netbeans y permitirle que me agregue el override para asi tener ese acceso directo a la clase que contiene el metodo que estoy sobrescribiendo y viceversa

  • @exklafidoteatro
    @exklafidoteatro 9 лет назад +1

    Si Empleado ya implementa la interfaz Trabajadores y Jefatura hereda de Empleado, ¿no debería heredar también el método establece_bonus y no ser obligatorio desarrollarlo en Jefatura?

    • @pildorasinformaticas
      @pildorasinformaticas  9 лет назад +2

      Hola !! Claro que si. Y de hecho lo hereda. Pero si te fijas, lo que hacemos en la clase Jefatura es sobreescribirlo. ¿Por qué? Porque en este programa no es lo mismo el bonus que se la da a un Empleado que el bonus a un Jefe.
      Método establece_bonus de Empleado:
      public double establece_bonus(double gratificacion){
      return Trabajadores.bonus_base+gratificacion;
      }
      Método establece_bonus de Jefatura:
      public double establece_bonus(double gratificacion){
      double prima=2000;
      return Trabajadores.bonus_base+gratificacion+prima;

      }
      Si te fijas son diferentes y el método de Jefatura sobreescribe al que hereda de Empleado y además así lo indica Eclipse en el margen izquierdo con el correspondiente icono del triángulo verde.
      Esto es precisamente lo que ya vimos en el curso de sobreescritura de métodos.
      Además precisamente este hecho que tu comentas marca el diseño de la herencia y el uso de interfaces que explicábamos en estos vídeos, ya que la clase Empleado implementa la interfaz propia creada por nosotros "Trabajadores" cuyo cometido es marcar el diseño de la herencia.
      package poo;
      public interface Trabajadores {
      double establece_bonus(double gratificacion);
      double bonus_base=1500;
      }
      Un saludo

    • @joseianniello
      @joseianniello 9 лет назад

      +pildorasinformaticas buenas, una duda con respecto a lo que dice francisco: yo veo que de alguna manera Jefatura tiene dos formas de heredar el metodo establece_bonus: primero porque hereda los me;todos de la superclase, pero tambie;n porque hereda de la interface Trabajadores por implementar la interface Jefes que hereda de esta. la diferencia sería que en el primer caso Jefatura no se ve obligada a desarrollar el metodo , y en el segundo si. estoy muy errado?? saludos!!

    • @pildorasinformaticas
      @pildorasinformaticas  9 лет назад

      Ya casi no recuerdo lo que hice en este vídeo, pero creo que si, que estás en lo correcto. Si Jefatura no implementa interfaz alguna, no está obligada a implementar ningún método. Un saludo

  • @guillermofloresalcantara2989
    @guillermofloresalcantara2989 6 лет назад

    una pregunta profe , es necesario poner el "Trabajadores.bonus_base" ? por q yo lo puse directamente asi
    "return bonus_base+gratificacion+prima;
    " y me funciona normal sin el "Trabajadores" ,quisiera saber si afectar en algo o si es necesario el por que , la funcionabilidad de poner o no poner el nombre de la interfaz primero antes de la variable

    • @mateusluceid642
      @mateusluceid642 4 года назад

      Yo hice igual, por lo que leí en Google es que así la estas usando como variable en lugar de constante. Aunque sí tiene valor de la constante creada....¿que más da?

  • @santiagoargayo6409
    @santiagoargayo6409 8 лет назад +7

    Entonces... Si la clase empleado implemena una interfaz con un metodo, la subclase jefatura, no tiene que sobrescribirlo, sino que lo hereda de empleado, a no ser que Jefatura tambien implemente la misma interfaz?

  • @eldarkness
    @eldarkness 5 лет назад

    Muy buenas, lo primero quiero agradecer a pildorasinformaticas por su gran trabajo. Y ahora queria preguntar porque te aparece el ID del empleado ademas del nombre en las lineas de consola donde se muestra la sentencia de la interfaz Trabajadores al darle a los empleados el incentivo? A mi no me aparece y he seguido tus videos desde el principio al 100%.
    Eres un crack te agradezco el curro que te pegas ojala hubieses sido mi profesor de programacion este año jaja.

    • @pildorasinformaticas
      @pildorasinformaticas  5 лет назад +1

      Gracias por el comentario, me alegro de que te gusten los vídeos. Tengo más de 1.000 vídeos en el canal y no recuerdo que hice en este. Tendría que verlo de nuevo para recordar. Pero habrá diferente entre tu código y el mío si no nos sale lo mismo. Tal vez son instrucciones de un vídeo anterior... Te hablo de memoria pero creo que la impresión del ID, el nombre etc viene de vídeos anteriores. Mira a ver por ahí. Un saludo!

    • @eldarkness
      @eldarkness 5 лет назад

      @@pildorasinformaticas Nada tranquilo era simple curiosidad por si me he perdido algo de todas formas como tengo que echarle un vistazo para ir apuntandome la teoria me fijare bien :)

  • @jonatanmsanchez
    @jonatanmsanchez 4 года назад

    Como la clase Jefatura hereda de empleados. Si ponemos la interzas en Empleado también debo correr el método de la interfaz en Jefatura?

    • @jego3189
      @jego3189 4 года назад +1

      no es obligatorio por que empleados ya sobre escribio la funcion que heredo y se la hereda de nuevo a jefatura pero le puedes sobre escribir de nuevo en jefatura si le quieres cambiar algo :)

    • @jonatanmsanchez
      @jonatanmsanchez 4 года назад

      @@jego3189 muchisimas gracias hermano

  • @RAPTORGAMESTUDIOS
    @RAPTORGAMESTUDIOS 6 лет назад +1

    yo quiero desarrollar app para android no se si ya puedo ir tomando el curso de android studio por que aveces siento que no se como aplicar todo esto que eh aprendido hasta ahora ??

    • @pildorasinformaticas
      @pildorasinformaticas  6 лет назад +1

      Te recomiendo que avances un poco más. Muchas veces me preguntan hasta que vídeo de este curso de Java recomiendo ver a los alumnos. Suelo recomendarles ver hasta el 200. Un saludo!

    • @RAPTORGAMESTUDIOS
      @RAPTORGAMESTUDIOS 6 лет назад +1

      a por los 149 restantes

  • @danielpadron7814
    @danielpadron7814 7 лет назад +1

    una consulta, porque creamos una interface y no simplemente se crea un método getter en la clase donde quiere que "empiece" esa cadena donde todas las clases que hereden una de otras

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад

      Porque si no creas una interface no obligas a que se use el método. Si el método lo creamos en la clase padre, en las clases hijas tenemos la opción de no utilizarlo si no queremos. Al crear el método en una interface "obligamos" a que el método se use en las clases que implementen la interface. Habrá veces que tu programa requiera esa obligatoriedad y otras veces no, depende de las necesidades del programa que estés creando. Un saludo!!

    • @danielpadron7814
      @danielpadron7814 7 лет назад

      MUCHAS GRACIAS PROFESOR

  • @jego3189
    @jego3189 4 года назад

    tengo un problema cuando intento usar por ejemplo la funcion de tomar desicion no me aparece para usarla

  • @oscarnunezchia8474
    @oscarnunezchia8474 Год назад

    Lo veoooooooooooooooo...jajajaj BUahhhh. Graciasssss

  • @fermingomez2481
    @fermingomez2481 8 лет назад +3

    Ingeniero disculpe, no tiene usted contemplado hacer un curso de HTML desde 0, a como lo esta haciendo con java, ciento que seria muy demanadado

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +3

      +Fermin Gomez Hola!! Sí, si que lo tengo contemplado y lo voy a hacer. Lo que no se es cuándo lo podré comenzar pero es seguro que lo habrá. Un saludo!!

  • @albertochavez595
    @albertochavez595 2 года назад

    PUEDE PASAR EL CODIGO PORFAVOR ya que no se ve el id y algo anda mal en el codigo

  • @franciscojoselillolopez5311
    @franciscojoselillolopez5311 8 лет назад +1

    Tengo un problema hasta aquí. Tengo un importe de 105000 para el jefe Juan y 95000 para la jefa María. Cuando se ejecuta, no ordena correctamente el array, además no incrementa el 5% al incentivo asignado a María a pesar de estar declarado después de la asignación del incentivo. ¿Cuál es el error?

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      +Francisco José Lillo López Hola !! Copia y pega por aquí tu código y te podré ayudar mejor con esta duda. Un saludo

    • @franciscojoselillolopez5311
      @franciscojoselillolopez5311 8 лет назад

      Es este:
      package poo;
      import java.util.*;
      public class Uso_Empleado {
      public static void main(String[] args) {
      Jefatura jefeRRHH = new Jefatura ("EL JEFE SOY YO",105000, 2010, 04, 14);
      jefeRRHH.estableceIncentivo(2570);
      Empleado[] misEmpleados = new Empleado[6];
      misEmpleados[0] = new Empleado ("Paco Gómez",30000, 1990, 12, 17);
      misEmpleados[1] = new Empleado ("Ana López",50000, 1995, 6, 2);
      misEmpleados[2] = new Empleado ("María Martín",25000, 2002, 3, 15);
      misEmpleados[3] = new Empleado ("Antonio Fernández");
      misEmpleados[4] = jefeRRHH; // POLIMORFISMO EN ACCION. PRINCIPIO DE SUSTITUCION
      misEmpleados[5] = new Jefatura ("Dolores",95000, 2015, 11, 12);
      Jefatura jefaFinanzas = (Jefatura) misEmpleados[5];
      jefaFinanzas.estableceIncentivo(25000);
      System.out.println(jefaFinanzas.tomarDecisiones("Dar más días de vacaciones a los empleados"));
      for (Empleado e: misEmpleados) {
      e.subeSueldo(5);
      }
      Arrays.sort(misEmpleados);
      for (Empleado p: misEmpleados){
      System.out.println("Nombre: " + p.dameMombre() +
      " Sueldo: " + p.dameSueldo() + " Fecha de alta: " +
      p.dameFechaContrato());
      }
      }
      }
      class Empleado implements Comparable {
      public Empleado(String nom, double sue, int agno, int mes, int dia){
      nombre = nom;
      sueldo = sue;
      GregorianCalendar calendario = new GregorianCalendar(agno, mes-1, dia);
      altaContrato = calendario.getTime();
      Id=IdSiguiente;
      IdSiguiente++;
      }
      public Empleado(String nom) {
      this(nom,28000, 2000, 01, 01);
      }
      public String dameMombre() { // METODO GETTER
      return nombre + " Id=" + Id;
      }
      public double dameSueldo() { // METODO GETTER
      return sueldo;
      }

      public Date dameFechaContrato() { // METODO GETTER
      return altaContrato;
      }
      public void subeSueldo(double porcentaje) { // setter
      double aumento = sueldo * porcentaje / 100;
      sueldo += aumento;
      }
      public static String dameIdSiguiente() {
      return "El IdSiguiente es=" + IdSiguiente;
      }
      public int compareTo(Object miObjeto) {
      Empleado otroEmpleado = (Empleado) miObjeto;
      if ( this.sueldo < otroEmpleado.sueldo) {
      return -1;
      }
      if ( this.sueldo > otroEmpleado.sueldo) {
      return 1;
      }
      return 0;
      }

      private String nombre;
      private double sueldo;
      private Date altaContrato;
      private int Id;
      private static int IdSiguiente=1;
      }
      class Jefatura extends Empleado implements Jefes {
      public Jefatura(String nom, double sue, int agno, int mes, int dia){
      super(nom, sue, agno, mes, dia);
      }
      public String tomarDecisiones(String decision) {
      return "Un miembro de la direccion ha tomado la decisión de: " + decision;
      }
      public void estableceIncentivo(double b) {
      incentivo = b;
      }
      public double dameSueldo() {
      double sueldoJefe = super.dameSueldo();
      return sueldoJefe + incentivo;
      }

      private double incentivo;
      }
      Cuando lo ejecuto con los mismos datos que tú, si se ordena correctamente, pero con estos datos, Dolores se ordena con más importe que el Jefe Soy yo como si no tuviera en cuenta el incentivo de 25000.

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      He copiado os datos de tus empleados en mi programa y ordena por sueldo bien. Como no tengo mucho tiempo para mirar línea a línea a ver suál es la diferencia entre tu código y el mío, te dejo este enlace para que descargues un archivo con mi código y lo mires tú: www.pildorasinformaticas.com/archivos/java/codigo.zip
      Un saludo

  • @juananrubio4252
    @juananrubio4252 5 лет назад

    Tengo una duda, a mi me en el resultado de establece_bonus del empleado me da 3700, es decir en vez de coger el de empleado, coge el de jefe, y me indica que establece_bonus de jefe sobreescribe al de empleado, alguna solucion?

    • @juananrubio4252
      @juananrubio4252 5 лет назад +2

      vale ya lo he solucionado, era porque tenia la ordenacion por salario del array antes del bonus y entonces en la posicion que estaba poniendo el bonus era un jefe XD sorry, pd: muy buen trabajo me estas ayudando mucho :P

    • @jlsdesarrolloweb2014
      @jlsdesarrolloweb2014 5 лет назад

      fijate en clase Empelado que interfas colocaste

  • @dvddavizcky3254
    @dvddavizcky3254 7 лет назад

    No entendi mucho esta parte de que enseguida se lo agrega a sueldo, no se como se le agrega el bonus alguien que me diga Gracias

  • @nahec
    @nahec 8 лет назад +1

    hola a todos,
    una pregunta para elprofesor o para lso compañeros de clase:
    cuando creas la interfaz Jefes,l y la pasas a la clase empleado, eso te obliga a crear el metodo tomar_decisiones. pero mi pregunta es: luego, como Jefes hereda de empleado, tambien hereda ese mismo metodo? o al ser una interfaz me obliga a crear el suyo propio con el mismo nombre?
    porquerecuerdo que hemos dicho que al hacer una interfaz lo que hace es que obligas a esa clase y a todas las que hereden de ella, ( todas las subclases futuras), tendran que tener a la fuerza el metodo Tomar_decisiones. pero cada una tendra un metodo diferente? o al hacerlo en la clase "padre", ya los hijos la heredan de forma normal? porque entonces no tieen mucho sentido, ya que eso es lo normal, no? todos los hijos heredan los metodos del padre., del abuelo....
    y si resulta que cada uno debe tener su propio metodo, siguiendo el ejemplo del profesor, cuando pones que la clase EMPLEADO implementa Jefes, hace un copy/pego del metodo que habiamos hecho, pero despues , siguiendo ese ejemplo, deberiamos crear otro metodo llamado Tomar_decisiones en la clase jefatura no? ( ya sea un metodo igual o diferente al de empleado)
    es algo asi???
    mil gracias y a estudiar!!!!

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +1

      Hola !! Vamos a ello: "cuando creas la interfaz Jefes,l y la pasas a la clase empleado, eso te obliga a crear el metodo tomar_decisiones." Respuesta: Correcto!!
      "pero mi pregunta es: luego, como Jefes hereda de empleado, tambien hereda ese mismo metodo?" Respuesta: Correcto.
      "o al ser una interfaz me obliga a crear el suyo propio con el mismo nombre?" Respuesta: Si Jefes implementa la interfaz sí. Si no la implementa, no.
      "porquerecuerdo que hemos dicho que al hacer una interfaz lo que hace es que obligas a esa clase y a todas las que hereden de ella, ( todas las subclases futuras), tendran que tener a la fuerza el metodo Tomar_decisiones. " Respuesta: La que implementa la interfaz estrá obligada a sobreescribir el método. Las que hereden de esta última lo tendrán por herencia pero no estarán obligadas a sobreescribir.
      " o al hacerlo en la clase "padre", ya los hijos la heredan de forma normal?" Respuesta: Correcto
      " porque entonces no tieen mucho sentido, ya que eso es lo normal, no? todos los hijos heredan los metodos del padre., del abuelo...." Respuesta: Aquí me pierdo con tu razonamiento. Lo siento
      "y si resulta que cada uno debe tener su propio metodo, ..." Respuesta: Incorrecto. Solo la que implementa la interfaz. El resto lo heredan.
      Resumiendo: El uso de interfaces se utiliza para marcar el diseño de la herencia. Una interfaz te OBLIGA a implementar un método (o varios, según sea la interfaz). La herencia sin interfaces no te obliga a implementar métodos. Recomiendo repasar cuidadosamente los vídeos dedicados a las interfaces y las clases abstractas. Se que es peor que una maldición gitana tener que ver de nuevo estos vídeos, pero es fundamental para entender estos temas tan importantes.
      Un saludo!!

    • @nahec
      @nahec 8 лет назад +1

      muchas gracias proffesor.
      poco a poco voy viendo la luz..... maestro jedi.
      me voy a repasar otra vez los videos ( aunque ya los he visto un par de veces) a ver si me aclaro.
      yo pensaba que si a una clase, le ponias lo de: implements interfaz1;
      eso obligaba a todas las subclases a tambien implementar esa interfaz del mismo modo. Vamos, como que se "arrastraba" esa obligacion a las subclases, pero veo que no.
      segun tu me explicas, yo puedo tener
      clase1 implementa interfaz1
      y luego uns subclase de esa clase1:
      clase2
      pero resulta que clase2 NO ESTA OBLIGADA A NADA CON ESA INTERFAZ ??
      yo pensaba que por webs, en clase2 debes poner tambien inplements interfaz1, pero veo que no. simplemente heredará los metodos correspondientes y punto.
      de todos modos, me voy a ver los videos de clases abstractas de nuevo.
      mil gracias

  • @rosa_mo
    @rosa_mo 7 лет назад +1

    Alguien sabe por qué con los elementos del array misEmpleados[4] y misEmpleados[5] que sí son de la clase Jefatura (se puede comprobar haciendo:
    for(int i = 0; i < misEmpleados.length; i++) {
    System.out.println(i + ": " + misEmpleados[i].getClass());
    })
    no se puede hacer:
    misEmpleados[4].tomar_decisiones("una decisión");
    misEmpleados[5].tomar_decisiones("una decisión");
    (ni con ningún método de la clase Jefatura)
    pero en cambio sí funciona:
    jefe_RRHH.tomar_decisiones("una decisión");
    jefa_Finanzas.tomar_decisiones("una decisión");
    Recuerdo que se había declarado (en este orden):
    Jefatura jefe_RRHH = new Jefatura("Juan", 55000, 2006, 9, 25);
    misEmpleados[4] = jefe_RRHH;
    misEmpleados[5] = new Jefatura("María", 95000, 1999, 5, 26);
    Jefatura jefa_Finanzas = (Jefatura) misEmpleados[5];

    • @1688amg
      @1688amg 7 лет назад

      Rosa Mø hola no será que misempleados es de la clase empleados ? capaz por eso no sale nada de jefatura y solo con el nombreobjeto de jefatura sale

    • @Zakaros1000
      @Zakaros1000 5 лет назад +1

      Tienes que devolver al video de refundicion de un objeto. recuerda que el vector o arreglo misEmpleados era del tipo Empleado y no del tipo Jefatura. Por lo que una vez que el objeto de tipo jefatura esta en el vector de objetos de tipo empleado no podrá usar un metodo de tipo jefatura a no ser que se utilice la refundicion para guardarlo en un objeto de tipo Jefatura (Doy la respuesta por si alguien mas tiene la misma duda, dado que esta pregunta tenia que haber sido respondida hace 2 años)

  • @danielhernandez5401
    @danielhernandez5401 4 года назад +1

    28/04/2020

  • @CRISTIANQUICENOP
    @CRISTIANQUICENOP Год назад

  • @mpjgamerkos714
    @mpjgamerkos714 3 месяца назад

    una de 1500

  • @spike_wav
    @spike_wav 6 лет назад

    que facil

  • @forsabarça
    @forsabarça 4 года назад +1

    PD: deberíamos usar la MODULARIZACIÓN, ¿VERDAD?

  • @alphaalfre
    @alphaalfre 2 года назад +1

    👀

  • @javiermaruiz
    @javiermaruiz 4 года назад +1

    Juan es a Java lo que Java a las plataformas: quien traduciría sin Java?, quien sin Juan?

  • @josuevargas7709
    @josuevargas7709 3 года назад

    Honestamente si me cuesta bastante, quizás sea falta de ver bien el video y tomarlo con calma pero si me cuesta bastante.. Saludos

  • @JorgeDev92
    @JorgeDev92 7 лет назад +1

    Gracias por el curso, tengo una duda.
    Las interfaces por convenio en proyectos grandes donde suelen definirse?
    A) En un .java aparte dentro del paquete donde este la clase que lo implemente
    B) En un .java dentro de otro paquete
    C) En el mismo .java de la clase que implementa dicha interfaz
    D) Todas las interfaces dentro de un mismo .java
    E) Otro
    Cuando veo que tienes la interfaz Jefes y la clase Jefatura se me antoja que la cantidad de .java que se muestran en el Package Explorer de eclipse, dentro del paquete donde nos encontramos crece muy rapido el número de archivos.
    Viniendo de MEAN.JS que todo estaba superestructurado se me hace raro ver tantos archivos en una misma carpeta/paquete

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад +1

      Hola !! Yo casi siempre los he visto en el mismo archivo java de la clase que implementa la interfaz. El código de las interfaces no suele ser extenso (aún en proyectos grandes) y suele encontrarse al principio del archivo java de la clase. También he visto las interfaces en archivos independientes, pero menos.
      De todas formas la experiencia que tengo yo en java con aplicaciones grandes siempre han sido un desastre. He trabajado en aplicaciones de la administración pública donde han metido mano muchas empresas-consultoras diferentes creando al final un código que era muy difícil de leer e interpretar. Le dan el contrato del proyecto a una empresa (ganado por concurso público), hace lo que le viene en gana con el código y que lo arregle el que venga después. Te quiero decir con todo esto que a lo mejor no soy el más indicado para deciros cómo organizar a la perfección el código en aplicaciones grandes.
      Haré cursos en el futuro (pronto) sobre frameworks, donde hablaré de este tema. Un saludo!!

    • @JorgeDev92
      @JorgeDev92 7 лет назад +1

      pildorasinformaticas Gracias de nuevo :)

  • @Rk2o92
    @Rk2o92 7 лет назад +1

    No entiendo el como se implementa el "establecer_bonus" en la clase jefaturas, ¿por que la clase Jefatura se ve obligada a usar el metodo definido en la inteface trabajadores?
    si solo esta usando la interface Jefe y esta hereda de la interface Trabajadores
    ya me volvi loco xD

    • @Rk2o92
      @Rk2o92 7 лет назад

      ahi dejo el uml, prntscr.com/ezbchx

    • @1688amg
      @1688amg 7 лет назад

      Hola según lo que entendi precisamente como jefes hereda de trabajadores jefatura está obligada a usar el método de trabajadores

  • @kbimero1
    @kbimero1 7 лет назад +1

    Buenas tardes desde Venezuela, le escribo porque siguiendo el ejemplo a la hora de imprimir en consola, me imprime Carlos en vez de Antonio..... Le envío mi código para ver si me puede llevar al error que estoy cometiendo. Gracias.
    package poo;
    import java.util.*;
    public class Uso_Empleado {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Jefatura jefe_RRHH=new Jefatura("Juan", 55000, 2006, 9, 25);
    jefe_RRHH.establece_incentivo(2570);
    Empleado[] misEmpleados=new Empleado[6];
    misEmpleados[0]=new Empleado("Ana", 30000, 2000, 07, 07);
    misEmpleados[1]=new Empleado("Carlos", 50000, 1995, 06, 15);
    misEmpleados[2]=new Empleado("Paco", 25000, 2005, 9, 25);
    misEmpleados[3]=new Empleado("Antonio", 47500, 2009, 11, 9);
    misEmpleados[4]=jefe_RRHH;// POLIMORFISMO EN ACCION. PRINCIPIO DE SUSTITUCION
    misEmpleados[5]=new Jefatura("Maria", 95000, 1999, 05, 26);
    Jefatura jefa_Finanzas=(Jefatura) misEmpleados[5];// CASTING
    jefa_Finanzas.establece_incentivo(55000);// CASTING
    Arrays.sort(misEmpleados);
    System.out.println(jefa_Finanzas.tomar_Decisiones
    ("Dar más dias de vacaciones a los empleados"));
    jefa_Finanzas.establece_Bonus(500);
    System.out.println("El jefe " + jefa_Finanzas.dame_Nombre() +
    " tiene un bonus de: " + jefa_Finanzas.establece_Bonus(500));
    System.out.println(misEmpleados[3].dame_Nombre() + " tiene un bonus de: " +
    misEmpleados[3].establece_Bonus(200));
    y la salida es:
    El miembro de la dirección ha tomado la decisión de: Dar más dias de vacaciones a los empleados
    El jefe Maria Id:6 tiene un bonus de: 4000.0
    Carlos Id:3 tiene un bonus de: 1700.0
    Nombre: Paco Id:4. Sueldo 26250.0 Fecha de Alta: Sun Sep 25 00:00:00 AST 2005
    Nombre: Ana Id:2. Sueldo 31500.0 Fecha de Alta: Fri Jul 07 00:00:00 AST 2000
    Nombre: Antonio Id:5. Sueldo 49875.0 Fecha de Alta: Mon Nov 09 00:00:00 AST 2009
    Nombre: Carlos Id:3. Sueldo 52500.0 Fecha de Alta: Thu Jun 15 00:00:00 AST 1995
    Nombre: Juan Id:1. Sueldo 60320.0 Fecha de Alta: Mon Sep 25 00:00:00 AST 2006
    Nombre: Maria Id:6. Sueldo 154750.0 Fecha de Alta: Wed May 26 00:00:00 AST 1999

    • @pildorasinformaticas
      @pildorasinformaticas  7 лет назад

      Hola !! Necesito ver también el resto del código. Copia y pega todo el código del programa (todas las clases) para que te pueda ayudar. Un saludo!!

    • @kbimero1
      @kbimero1 7 лет назад

      Buenos días profesor, revisando el código note que al comentar la linea Arrays.sort(misempleados) el código funcionó debidamente, pero note que la salida de los id de empleados no sale ordenada de menor a mayor. De antemano muchas gracias por la ayuda.
      package poo;
      import java.util.*;
      public class Uso_Empleado {
      public static void main(String[] args) {
      // TODO Auto-generated method stub
      Jefatura jefe_RRHH=new Jefatura("Juan", 55000, 2006, 9, 25);
      jefe_RRHH.establece_incentivo(2570);
      Empleado[] misEmpleados=new Empleado[6];
      misEmpleados[0]=new Empleado("Ana", 30000, 2000, 07, 07);
      misEmpleados[1]=new Empleado("Carlos", 50000, 1995, 06, 15);
      misEmpleados[2]=new Empleado("Paco", 25000, 2005, 9, 25);
      misEmpleados[3]=new Empleado("Antonio", 47500, 2009, 11, 9);
      misEmpleados[4]=jefe_RRHH;// POLIMORFISMO EN ACCION. PRINCIPIO DE SUSTITUCION
      misEmpleados[5]=new Jefatura("Maria", 95000, 1999, 05, 26);
      Jefatura jefa_Finanzas=(Jefatura) misEmpleados[5];// CASTING
      jefa_Finanzas.establece_incentivo(55000);// CASTING
      System.out.println(jefa_Finanzas.tomar_Decisiones
      ("Dar más dias de vacaciones a los empleados"));
      jefa_Finanzas.establece_Bonus(500);
      System.out.println("El jefe " + jefa_Finanzas.dame_Nombre() +
      " tiene un bonus de: " + jefa_Finanzas.establece_Bonus(500));
      System.out.println(misEmpleados[3].dame_Nombre() + " tiene un bonus de: " +
      misEmpleados[3].establece_Bonus(200));

      for(Empleado e:misEmpleados){
      e.Sube_Sueldo(5);
      }
      for(Empleado e:misEmpleados){
      System.out.println("Nombre: " + e.dame_Nombre() + ". Sueldo " +
      e.dame_Sueldo() + " Fecha de Alta: " + e.dame_Fecha_Contrato());
      }
      }// CIERRA METODO main
      }// CIERRA CLASE Uso_Empleado
      class Empleado implements Comparable, Trabajadores {
      public Empleado(String nom, double sue, int agno, int mes, int dia){// CONSTRUCTOR
      nombre=nom;
      sueldo=sue;
      GregorianCalendar calendario=new GregorianCalendar(agno, mes-1, dia);
      alta_Contrato=calendario.getTime();
      ++idSiguiente;
      id=idSiguiente;

      }// CIERRA CONSTRUCTOR Empleado
      public double establece_Bonus(double gratificaciones){
      return Trabajadores.bonus_Base+gratificaciones;
      }
      public Empleado(String nom){// SEGUNDO CONSTRUCTOR (SOBRECARGA DE CONSTRUCTORES DENTRO DE UNA MISMA CLASE
      this(nom, 30000, 2000, 01, 01);
      }
      public String dame_Nombre(){// GETTER
      return nombre + " Id:" + id;
      }
      public double dame_Sueldo(){// GETTER
      return sueldo;
      }
      public Date dame_Fecha_Contrato(){// GETTER
      return alta_Contrato;
      }
      public void Sube_Sueldo(double porcentaje){// SETTER
      double aumento=sueldo*porcentaje/100;
      sueldo+=aumento;
      }
      public int compareTo(Object miObjeto){
      Empleado otroEmpleado=(Empleado) miObjeto;
      if(this.sueldootroEmpleado.sueldo){
      return 1;
      }
      return 0;
      }
      private String nombre;
      private double sueldo;
      private Date alta_Contrato;
      private static int idSiguiente;
      private int id;
      }// CIERRA CLASE Empleado
      class Jefatura extends Empleado implements Jefes{
      public Jefatura(String nom, double sue, int agno, int mes, int dia){ // CONSTRUCTOR
      super(nom, sue, agno, mes, dia);
      }
      public String tomar_Decisiones(String decision){
      return "El miembro de la dirección ha tomado la decisión de: " + decision;
      }
      public double establece_Bonus(double gratificaciones){
      double prima=2000;
      return Trabajadores.bonus_Base+gratificaciones+prima;
      }
      public void establece_incentivo(double b){ // SETTER
      incentivo=b;
      }
      public double dame_Sueldo(){
      double sueldo_Jefe=super.dame_Sueldo();
      return sueldo_Jefe+incentivo;
      }
      private double incentivo;
      }// CIERRA CLASE Jefatura

  • @MultiKarlithos
    @MultiKarlithos 4 года назад +1

    Joder, los jefes repartiéndose la pasa, así hay que bajar los sueldos a los trabajadores.

  • @owenmaciel2682
    @owenmaciel2682 Год назад

    A mi me tira eso en la clase Jefatura pero funciona todo bien digamos
    the type jefatura must implement the inherited abstract method jefe.tomar_decisiones

  • @LUITEN1
    @LUITEN1 4 года назад

    24/10/2020