Agregación y Composición en POO

Поділитися
Вставка
  • Опубліковано 30 січ 2025

КОМЕНТАРІ • 89

  • @doneber
    @doneber  2 роки тому +3

    ¿Quieres ver videos así? Aquí algunos:
    🔗 Git (serie): bit.ly/Git-y-GitHub
    🔗 POO: bit.ly/poo-paradigm
    🔗 Beneficios Premium: bit.ly/student-list-benefits
    🔗 Tips: bit.ly/awesome-pro-tips
    🔗 Web: bit.ly/web-pro-list
    🔗 More (YT suscribe): bit.ly/donEber

  • @sirixb
    @sirixb 3 роки тому +43

    No hay ningún otro video que explique tan bien y de manera tan grafica, sencilla , ilustrativa y coherente estos conceptos muchas gracias de verdad increíble!!!

  • @emmanuelledesma8595
    @emmanuelledesma8595 11 місяців тому +3

    Muchos verdaderos docentes estan en la internet sin ser reconocidos, tremendo trabajo una clase muy corta pero efectiva, llevo horas buscando esta claridad de minutos. gracias

    • @doneber
      @doneber  11 місяців тому

      Muchas gracias por tus palabras, me alegra mucho saber que este ayude. Espero te vaya muy bien en tus estudios 💪

  • @maurocruz1824
    @maurocruz1824 2 роки тому +13

    La verdad me ha sido muy difícil encontrar una explicación que diferencie la agregación de la composición. Siempre salen con ejemplos insulsos de carros y no se atreven a ponerlos en código.
    Aquí en cambio quedó muy claro!

  • @ElSuscriptor
    @ElSuscriptor Місяць тому

    Uhff durisima la explicacion. Muy muy top. Gracias por ayudarnos a entenderlo tan facil, grafica y didacticamente. Un abrazo

  • @surrealista06
    @surrealista06 6 місяців тому

    El mejor video explicativo de lejos. Se resumió toda mi clase en 7 minutos con tu video, jajaja.

  • @gerardojaviervaldezarce3806
    @gerardojaviervaldezarce3806 2 роки тому +3

    Manito te aplaudo, muy bien explicado! Saludos desde Argentina

  • @MrRampengu
    @MrRampengu 3 роки тому +10

    Al fin alguien que da un ejemplo de composicion compuesta con un array.

    • @javadesarrolladores9798
      @javadesarrolladores9798 3 роки тому

      Pero de eso hay mucho en internet... desde el año 96 este ejemplo está en el libro de UML.

    • @doneber
      @doneber  3 роки тому +3

      Genial! No sabía eso, podrías compartir el nombre del libro por favor. Y gracias por el dato 😊 💪

  • @baxtixo
    @baxtixo Рік тому +2

    El mejor explicando. Muchas tenkiu

  • @Alfonso_javier13
    @Alfonso_javier13 2 роки тому +1

    Este canal tiene un potencial enrome!!!

  • @santiagomasco6636
    @santiagomasco6636 2 роки тому +5

    ¡Explicas excelente, gracias por tu video!

  • @cindydorantes10
    @cindydorantes10 2 роки тому +1

    Excelente explicación. Muchas gracias por compartir

  • @nicolasherrera5432
    @nicolasherrera5432 Рік тому +1

    muy muy bueno el contenido, te agradezco y felicito por la explicacion tan clara, sos un crack

  • @franco6034
    @franco6034 2 місяці тому

    muy bien, la mejor explicación.

  • @codificandoando5577
    @codificandoando5577 3 роки тому +1

    Excelente hermano, casi ya le entiendo

  • @franciscoponce8630
    @franciscoponce8630 Рік тому

    Que precioso video, no puedo creer que existiera esto

    • @doneber
      @doneber  Рік тому

      Gracias por tus palabras :')

  • @VaneCdLs
    @VaneCdLs 3 роки тому +3

    Muy buena explicación

  • @martinjulioluzuriaga4584
    @martinjulioluzuriaga4584 Рік тому +1

    Muchisimas gracias maestro!

  • @frankmdv
    @frankmdv 3 роки тому +1

    Que explicación tan genial. Gracias, hermano.

    • @doneber
      @doneber  3 роки тому

      Con mucho gusto

  • @Atloncoloriginal
    @Atloncoloriginal 2 роки тому +1

    Un duro, mejor que mi profe

  • @manuelc3368
    @manuelc3368 3 роки тому +1

    me encantó tu video, nuevo sub

  • @MgcVideos2025
    @MgcVideos2025 3 роки тому +1

    EXCELENTE VIDEO!!!

  • @thulokitoalaracobrunex2683
    @thulokitoalaracobrunex2683 Рік тому +1

    Gracias man, me salvaste de la automatasion xd

    • @doneber
      @doneber  Рік тому

      Me alegra saberlo :')
      Saludos :wave:

  • @juandiazrojas9224
    @juandiazrojas9224 4 роки тому +1

    muy bueno el video , casi parecidos la agregacion y la composicion pero hay diferencias importantes en la implementación . hare los ejercicios. saludos de peru.

  • @CesarCastro-gy8tm
    @CesarCastro-gy8tm Рік тому +1

    Muy buen ejemplo el de smartphone, gracias!

    • @doneber
      @doneber  Рік тому

      Gracias por comentarlo 🙌

  • @marioprado8789
    @marioprado8789 2 роки тому

    Muy completo e intuitivo, gracias

  • @oaktree5518
    @oaktree5518 3 роки тому

    Explica increíblemente bien. Buen video.

  • @vicjagger2041
    @vicjagger2041 3 роки тому

    Cortito y al pie. Excelente

  • @Master_Mario
    @Master_Mario 3 роки тому +1

    Excelente aporte, muy bien explicado :))

  • @gonzlashnjkov
    @gonzlashnjkov 2 роки тому +1

    sos god brother

  • @bernardovelazquez9890
    @bernardovelazquez9890 2 роки тому

    Muchas Gracias! muy bien explicado!

    • @doneber
      @doneber  2 роки тому

      Es un gusto. SI quieres ver mas a profundidad puedes ver el video de Agregación VS Composición :'D
      Saludos!

  • @adrianvera3806
    @adrianvera3806 3 роки тому

    Muy buena explicación, justo lo que estaba buscando.

  • @marlonmorales3154
    @marlonmorales3154 2 роки тому +1

    muy bueno gracias

  • @jesuslascano291
    @jesuslascano291 11 місяців тому +1

    Miy buen video me ayudo mucho

    • @doneber
      @doneber  8 місяців тому

      Muchas gracias por tu comentario, cuando sea rico y famoso crearé una plataforma gratuita para capacitar a todas las personas de una forma dinámica y personalizada. Jeje... sinceramente no creo que llegue ese día, pero no esta demás soñar.
      Que tengas un buen resto de día :')

  • @alexdurand5287
    @alexdurand5287 Рік тому +1

    Buena explicacion bro

    • @doneber
      @doneber  Рік тому

      Gracias por tu comentario! Te deseo éxitos en tus estudios 👌
      Posdata: Lamento responder de tiempo, me perdí en el sendero de la vidaa... 🍃

  • @diegobetancourt9104
    @diegobetancourt9104 2 роки тому +2

    ¿Qué implicaría usar inyección de dependencias para la batería o los chips, en el constructor del smartphone? Saludos.

    • @doneber
      @doneber  2 роки тому

      Hola! Casi lo olvido, hace unos días hice un vídeo en base a tu pregunta, igual si aún te interesa te lo dejo por aquí 🤓 ua-cam.com/video/8I9qUYf7yDI/v-deo.html

    • @diegobetancourt9104
      @diegobetancourt9104 2 роки тому +1

      @@doneber Muchas gracias, estoy de acuerdo con todo, sumado a la facilidad para realizar los tests unitarios.

    • @doneber
      @doneber  2 роки тому

      Exacto, no lo he comentado en el vídeo pero para hacer mocks (objetos simulados) es necesario. 👍

  • @rodrigovargassanchez6202
    @rodrigovargassanchez6202 2 роки тому

    Muchas Gracias!!!!!!!!

  • @renederum
    @renederum 3 роки тому

    Excelente explicacion, gracias.

    • @doneber
      @doneber  3 роки тому

      Gracias a ti por comentar

  • @juandiegoescobarlondono6095
    @juandiegoescobarlondono6095 2 роки тому +1

    Gracias.

  • @kakatudo1
    @kakatudo1 2 роки тому

    Muy buen vídeo se agradece, pero me gustaría que hicieras un ejemplo con la relación de Asociacion es algo que me ocaciona dudas sobre la implementación en código java. Excelente aporte.

    • @doneber
      @doneber  2 роки тому

      Hola. Entiendo, lo tomare en cuenta. Igual si te sirve tengo un vídeo hablando de un poco más de estos temas en ua-cam.com/video/Ce0Xmo6-qG4/v-deo.html

  • @MierdesTaker
    @MierdesTaker 3 роки тому

    Excelente!

  • @alexjavier5450
    @alexjavier5450 3 роки тому +1

    4:48, amigo.ayudame aún no entiendo porque se pone Bateria bateria;
    Ósea se pueden poner clases como atributos?
    Y que efecto tiene eso?
    Ósea para que sirve, que yo puedo hacer con ese atributo?

    • @doneber
      @doneber  3 роки тому

      Pongo "Bateria bateria", el primero que es el tipo de variable ('Clase Bateria') y "bateria" solo es el nombre del atributo, podria ser "miBateria" o cualquiera.
      Y si, los atributos pueden ser clases llega el momento en que nuestro programa se vuelve cada vez mas complejo y necesitamos hacer ese tipo de cosas.
      Ponemos Bateria (como clase) ya que ese dato es mas compleo, los 'int's o 'string' ya no nos alcanzan para lo que queremos hacer :'D
      Al principio puede ser algo complicado entenderlo, pero practicando estarás al 💯!
      Ánimo! 💪

    • @alexjavier5450
      @alexjavier5450 3 роки тому

      @@doneber entonces ese tipo de dato sirve para guardar lo que más cosas y ya?

    • @doneber
      @doneber  3 роки тому

      No es exactamente un "tipo de dato", es una Clase, es decir en la clase SmatPhone es un atributo, pero un atributo que tiene sus propios atributos y métodos 👌

  • @jorgegustavobanegas8491
    @jorgegustavobanegas8491 2 роки тому +1

    Un objeto puede estar compuesto de otro objeto compuesto? Por ejemplo una persona está compuesta de una cabeza, y la cabeza a su vez está compuesta por ojos? Es válido representarlo así? Y si es posible cómo se representaría en código?, ya que tengo entendido que la clase "raíz" es la única encargada de "crear" a su "agregado", pero ese agregado a su vez es raíz de otro agregado, entonces como crearía el agregado de ese agregado?

    • @doneber
      @doneber  2 роки тому +1

      Si se puede amigo. Es totalmente válido. Ahora bien, digamos que tienes las clases A,B,C; donde A es la clase que contiene a B y B a C
      Para agregar nuevos C's puedes crear un método en B llamado 'agregaCs(c)'. Ahora si estás pensando en agregar C's desde A, puedes crear un método en A q se llame 'agregaCenB(b,c)' y en ese método llamas al método de B (agregaCs)y ojo en los parámetros, necesitas saber en cual 'b' vas a agregar el 'c'. La idea delegar las tareas creando métodos, es decir A delega a B, B a C y así si fuera necesario.
      Espero te de una idea. También si estás estudiando Agregación y Composición te recomiendo este video que habla del tema ua-cam.com/video/Ce0Xmo6-qG4/v-deo.html
      👍

    • @jorgegustavobanegas8491
      @jorgegustavobanegas8491 2 роки тому +1

      @@doneberGracias, tenía esa duda, ya que la mayoría muestra ejemplos simples, y en la Universidad nisiquiera explican bien, así que toca arreglarmela por mi cuenta, pero con tu respuesta ya me iluminaste. De veras muchas gracias.

  • @josecapablanca6430
    @josecapablanca6430 2 роки тому +4

    Hola que dices de este ejemplo..... un carro y un motor, está claro que es composición ya que un carro sin motor sería solo una lata con forma de carro...pero y las ruedas??.... te pregunto porque he visto ejemplos en youtube quienes aseveran que se trata tb de composición por razones entendibles, y otros que lo tratan como agregación por razones tb entendibles....entonces no es tan sencillo porque no hay una línea lo suficientemente marcada que separe lo que es composición de lo que es agregación "PARA TODOS LOS CASOS"...a veces aparecen casos híbridos donde bien podría encajar una cosa o la otra, entonces no siempre es tan sencillo. Cuando buscas en youtube videos generalmente te encuentras con casos muy básicos y muy bien diferenciados. Yo te exhorto a que hagas un video que trate este tema de forma más profunda viendo ejemplos no tan usuales y menos habitual través de código, porque un aprendiz al ver los ejemplos básicos pensaría aaaaaa pero si es tan sencillo como ver si la la clase tiene algún tipo de contenedor como vector pera saber que ya se trata de agregación... no siempre se necesita disponer de un vector de que contenga otros elementos para llegar a la conclusión inmediata que es un tema de agregación, a veces no se cuentan con dichos contenedores y siguen existiendo agregaciones... Me gustaría saber tu opinión al respecto, incluso he visto hasta en libros que el autor evita en tratar dichos conceptos como algo separado porque piensa que sigue habiendo enfoques y opiniones dividas sobre este tema

    • @doneber
      @doneber  2 роки тому +1

      Me encantó tu comentario, toda la razón. En mi opinión un ejercicio se podría resolver con Agregación o Composición, y la respuesta no siempre es tan obvia. Pero hay casos en los que uno tiene mas sentido que el otro, esto uno se da cuenta con la práctica. Pero buscaré algún ejercicio que ejemplifique esto y lo subiré. Gracias por el comentario, me hace recordar el monton de otras dudas que tenemos cuando somos estudiantes. 👍

    • @doneber
      @doneber  2 роки тому

      Ah si, casi lo olvido. Hcie un video respondiendo esas dudas bro!
      Lo dejo aqui: ua-cam.com/video/Ce0Xmo6-qG4/v-deo.html

    • @josecapablanca6430
      @josecapablanca6430 2 роки тому

      ​@@doneber Wow, muchas gracias bro, la verdad no pensé que te tomarías el trabajo...gracias nuevamente saludos

  • @Leandro-np1uk
    @Leandro-np1uk 3 роки тому +1

    excelente

  • @victorevangelista8656
    @victorevangelista8656 2 роки тому +1

    Muy buena explicación, me haz aclarado varias dudas pero hay algunas partes que aun me pierdo, por ejemplo: en la parte de agregacíon, tengo entendido que aparte del método para agregar, también hay para quitar, entonces en este caso, si quisiera quitar un chip del arreglo de chips el cual tiene para máximo 2 chips, ¿Como se haría?, se tendría que indicar que el chip en alguna de las 2 posiciones (la primer posición por ejemplo) es igual a null para quitarlo. Algo así quiero creer:
    nroChips=0;
    chips[nroChips]=null;
    ¿A que te refieres cuando dices que un objeto muere? por ejemplo el objeto cel de tipo SmartPhone si muere los chips agregados siguen existiendo pero la batería no, pero, ¿Que es eso de morir?, ¿Te refieres a si el objeto cel lo eliminas al igualarlo a null para que ya no este apuntando a ninguna referencia previamente instanciada?. Disculpa mi ignorancia y el hacer tantas preguntas pero, soy nuevo en estos conceptos de agregación y composición en uml. Si pudieras explicarme te lo agradeceré mucho.

    • @doneber
      @doneber  2 роки тому +1

      La primera parte si, estaría bien eliminarlo así. Lo estarías eliminando ya que al ponerlo 'null' el *Recolector de Basura* de tu lenguaje lo terminará elimiando (googlea eso si no se entiende bien)
      Al decir morir me refieron que su instancia desaparece, ya no podrémos recuperar esa información (se elimina de la RAM, otra vez *Recolector de Basura (de Java, por ejemplo)*)
      Básicamente cuando teníamos varios datos en una variable, pero luego le damos null el Recolector de Basura libera ese especio de memoria de la computadora (la memoria RAM) y ya, muere :v
      Saludos, espero la información aún te sirva :'v

    • @victorevangelista8656
      @victorevangelista8656 2 роки тому

      @@doneber ya entiendo, buscaré eso del recolector de basura. Gracias por responder a mi duda.

  • @natyvillalba6321
    @natyvillalba6321 3 роки тому

    Crack!!

  • @JoseGarcia-ls8rc
    @JoseGarcia-ls8rc 11 місяців тому

    Amigo dime cómo puedo hacer para que el codigo de java aparezca en los mismos colores tuyos en video, es decir el color de la fuente.

    • @doneber
      @doneber  8 місяців тому

      Ah pasado tanto tiempo que lo olvidé, creo que usé VSCode con el tema por defecto.
      Lamento no poder ayudarte lo suficiente. Espero lo hayas logrado.
      Que tengas un buen resto de día :')

  • @ezequielalarcon5162
    @ezequielalarcon5162 3 роки тому

    ¿Entonces puedo distinguir una relación de composición y/o de agregación gracias al constructor y los métodos de la clase?

    • @doneber
      @doneber  3 роки тому

      Se puede decir que si 👍

  • @arandano652
    @arandano652 2 роки тому

    he estado viendo algunos de tus videos y son muy buenos muchisimas gracias , la agregacion y composicion son tipos de asociaciones? por que recuerdo escuchar en clase el concepto de asociacion pero no estoy 100% seguro

    • @doneber
      @doneber  2 роки тому +1

      Holas!
      Existen diferentes tipos de relaciones entre clases, la asociación una de ellas al igual que la agregación o composición. No me animo a decir que es un tipo de asociación aunque si tienen algo de parecido 😄
      Saludos!

  • @sebastianalonsopintomontes7044
    @sebastianalonsopintomontes7044 3 роки тому

    GOD

  • @gabyph2013
    @gabyph2013 2 роки тому

    esto aplica tambien a PYTHON?

    • @doneber
      @doneber  2 роки тому

      Así es mi estimada. Los conceptos de POO son independientes del lenguaje 😌👍
      +1

  • @brayan1a1
    @brayan1a1 3 роки тому

    Te entendi mas que al profe xd

  • @patricioaragon3746
    @patricioaragon3746 2 роки тому

    muy lindo todo pero el código no funciona... con razón te dio pereza terminarlo.

    • @doneber
      @doneber  2 роки тому +1

      Si funciona bro. El código está en la descripción 🥺

    • @patricioaragon3746
      @patricioaragon3746 2 роки тому

      @@doneber aaaah mas te valía 😠

  • @sofiagabrielamoran5842
    @sofiagabrielamoran5842 2 роки тому +2

    ConSideración *

    • @doneber
      @doneber  8 місяців тому +1

      Mi no sabe espaniol
      Gracias por la corrección

  • @valeriapadilla5580
    @valeriapadilla5580 2 роки тому +1

    Excelente explicación