Agregación y Composición en POO

  Рет қаралды 40,036

Don Eber

Don Eber

Күн бұрын

Esta es la explicación definitiva de Agregación y Composición en Programación Orientada a Objetos como nunca antes en 7 minutos.
Código del ejemplo: 🔗 github.com/doneber/POO/tree/m...
Publicación Oficial: 👉 enfocate.doneber.dev/poo/11 🙌
Curso Gratis de POO: 👉 enfocate.doneber.dev/poo (renovado)
La continuación de ese video es 👉 • POO: Agregación, Compo...
Otros videos de POO:
- Herencia: • Herencia en Programaci...
- Agregación y Composición: • Agregación y Composici...
- Persistencia de Objetos: • Persistencia de Objeto...
Sí te pareció útil considera compartirlo así el contenido pueda llegar a más personas 😇, si quieres más videos así también puedes SUSCRIBIRTE y dejar tus COMENTARIOS
KZbin playlist:
🔗 Git (serie): • Git y GitHub (Serie)
🔗 POO: • Programación Orientada...
🔗 Beneficios FREE: • Beneficios de estudiantes
🔗 Tips: • Tips para todos
🔗 Web: • Web
🔗 More: kzbin.info?sub_c...
Me:
👉 Twitter: / doneberdev
👉 GitHub: github.com/donEber
👉 Página web: doneber.dev
Contenido:
0:00 | Intro
0:08 | Agregación
1:46 | Composición
3:14 | Ejemplo | clases UML
4:11 | Ejemplo | código
7:14 | Agregación vs Composición

Пікірлер: 87
@doneber
@doneber 2 жыл бұрын
¿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
@alanciux
@alanciux 27 күн бұрын
El mejor video explicativo de lejos. Se resumió toda mi clase en 7 minutos con tu video, jajaja.
@sirixb
@sirixb 2 жыл бұрын
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!!!
@maurocruz1824
@maurocruz1824 2 жыл бұрын
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!
@CesarCastro-gy8tm
@CesarCastro-gy8tm 7 ай бұрын
Muy buen ejemplo el de smartphone, gracias!
@doneber
@doneber 7 ай бұрын
Gracias por comentarlo 🙌
@MrRampengu
@MrRampengu 3 жыл бұрын
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 жыл бұрын
Genial! No sabía eso, podrías compartir el nombre del libro por favor. Y gracias por el dato 😊 💪
@emmanuelledesma8595
@emmanuelledesma8595 5 ай бұрын
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 5 ай бұрын
Muchas gracias por tus palabras, me alegra mucho saber que este ayude. Espero te vaya muy bien en tus estudios 💪
@franciscoponce8630
@franciscoponce8630 10 ай бұрын
Que precioso video, no puedo creer que existiera esto
@doneber
@doneber 10 ай бұрын
Gracias por tus palabras :')
@gerardojaviervaldezarce3806
@gerardojaviervaldezarce3806 2 жыл бұрын
Manito te aplaudo, muy bien explicado! Saludos desde Argentina
@martinjulioluzuriaga4584
@martinjulioluzuriaga4584 9 ай бұрын
Muchisimas gracias maestro!
@doneber
@doneber 8 ай бұрын
Con mucho gusto
@marlonmorales3154
@marlonmorales3154 Жыл бұрын
muy bueno gracias
@santiagomasco6636
@santiagomasco6636 2 жыл бұрын
¡Explicas excelente, gracias por tu video!
@baxtixo
@baxtixo Жыл бұрын
El mejor explicando. Muchas tenkiu
@juandiegoescobarlondono6095
@juandiegoescobarlondono6095 2 жыл бұрын
Gracias.
@nicolasherrera5432
@nicolasherrera5432 7 ай бұрын
muy muy bueno el contenido, te agradezco y felicito por la explicacion tan clara, sos un crack
@jesuslascano291
@jesuslascano291 5 ай бұрын
Miy buen video me ayudo mucho
@doneber
@doneber 2 ай бұрын
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 :')
@oaktree5518
@oaktree5518 3 жыл бұрын
Explica increíblemente bien. Buen video.
@gonzlashnjkov
@gonzlashnjkov 2 жыл бұрын
sos god brother
@marioprado8789
@marioprado8789 2 жыл бұрын
Muy completo e intuitivo, gracias
@cindydorantes10
@cindydorantes10 Жыл бұрын
Excelente explicación. Muchas gracias por compartir
@Alfonso_javier13
@Alfonso_javier13 2 жыл бұрын
Este canal tiene un potencial enrome!!!
@adrianvera3806
@adrianvera3806 3 жыл бұрын
Muy buena explicación, justo lo que estaba buscando.
@codificandoando5577
@codificandoando5577 2 жыл бұрын
Excelente hermano, casi ya le entiendo
@vicjagger2041
@vicjagger2041 3 жыл бұрын
Cortito y al pie. Excelente
@Master_Mario
@Master_Mario 2 жыл бұрын
Excelente aporte, muy bien explicado :))
@alexdurand5287
@alexdurand5287 Жыл бұрын
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... 🍃
@rodrigovargassanchez6202
@rodrigovargassanchez6202 Жыл бұрын
Muchas Gracias!!!!!!!!
@LuisCastillo-bl6mq
@LuisCastillo-bl6mq 2 жыл бұрын
EXCELENTE VIDEO!!!
@VaneCdLs
@VaneCdLs 3 жыл бұрын
Muy buena explicación
@valeriapadilla5580
@valeriapadilla5580 2 жыл бұрын
Excelente explicación
@juandiazrojas9224
@juandiazrojas9224 3 жыл бұрын
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.
@manuelc3368
@manuelc3368 2 жыл бұрын
me encantó tu video, nuevo sub
@MierdesTaker
@MierdesTaker 2 жыл бұрын
Excelente!
@frankmdv
@frankmdv 2 жыл бұрын
Que explicación tan genial. Gracias, hermano.
@doneber
@doneber 2 жыл бұрын
Con mucho gusto
@Atloncoloriginal
@Atloncoloriginal 2 жыл бұрын
Un duro, mejor que mi profe
@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!
@renederum
@renederum 2 жыл бұрын
Excelente explicacion, gracias.
@doneber
@doneber 2 жыл бұрын
Gracias a ti por comentar
@natyvillalba6321
@natyvillalba6321 3 жыл бұрын
Crack!!
@Leandro-np1uk
@Leandro-np1uk 3 жыл бұрын
excelente
@kakatudo1
@kakatudo1 Жыл бұрын
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 Жыл бұрын
Hola. Entiendo, lo tomare en cuenta. Igual si te sirve tengo un vídeo hablando de un poco más de estos temas en kzbin.info/www/bejne/eZaTiaCla5KkfZY
@thulokitoalaracobrunex2683
@thulokitoalaracobrunex2683 10 ай бұрын
Gracias man, me salvaste de la automatasion xd
@doneber
@doneber 10 ай бұрын
Me alegra saberlo :') Saludos :wave:
@sebastianalonsopintomontes7044
@sebastianalonsopintomontes7044 2 жыл бұрын
GOD
@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 жыл бұрын
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!
@ezequielalarcon5162
@ezequielalarcon5162 2 жыл бұрын
¿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 2 жыл бұрын
Se puede decir que si 👍
@JoseGarcia-ls8rc
@JoseGarcia-ls8rc 5 ай бұрын
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 2 ай бұрын
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 :')
@diegobetancourt9104
@diegobetancourt9104 Жыл бұрын
¿Qué implicaría usar inyección de dependencias para la batería o los chips, en el constructor del smartphone? Saludos.
@doneber
@doneber Жыл бұрын
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í 🤓 kzbin.info/www/bejne/bnqcooiPm5yseqs
@diegobetancourt9104
@diegobetancourt9104 Жыл бұрын
@@doneber Muchas gracias, estoy de acuerdo con todo, sumado a la facilidad para realizar los tests unitarios.
@doneber
@doneber Жыл бұрын
Exacto, no lo he comentado en el vídeo pero para hacer mocks (objetos simulados) es necesario. 👍
@josecapablanca6430
@josecapablanca6430 2 жыл бұрын
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 жыл бұрын
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: kzbin.info/www/bejne/eZaTiaCla5KkfZY
@josecapablanca6430
@josecapablanca6430 2 жыл бұрын
​@@doneber Wow, muchas gracias bro, la verdad no pensé que te tomarías el trabajo...gracias nuevamente saludos
@jorgegustavobanegas8491
@jorgegustavobanegas8491 2 жыл бұрын
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 жыл бұрын
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 kzbin.info/www/bejne/eZaTiaCla5KkfZY 👍
@jorgegustavobanegas8491
@jorgegustavobanegas8491 2 жыл бұрын
@@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.
@victorevangelista8656
@victorevangelista8656 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@doneber ya entiendo, buscaré eso del recolector de basura. Gracias por responder a mi duda.
@brayan1a1
@brayan1a1 3 жыл бұрын
Te entendi mas que al profe xd
@alexjavier5450
@alexjavier5450 3 жыл бұрын
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 👌
@gabyph2013
@gabyph2013 2 жыл бұрын
esto aplica tambien a PYTHON?
@doneber
@doneber 2 жыл бұрын
Así es mi estimada. Los conceptos de POO son independientes del lenguaje 😌👍 +1
@sofiagabrielamoran5842
@sofiagabrielamoran5842 2 жыл бұрын
ConSideración *
@doneber
@doneber 2 ай бұрын
Mi no sabe espaniol Gracias por la corrección
@patricioaragon3746
@patricioaragon3746 2 жыл бұрын
muy lindo todo pero el código no funciona... con razón te dio pereza terminarlo.
@doneber
@doneber 2 жыл бұрын
Si funciona bro. El código está en la descripción 🥺
@patricioaragon3746
@patricioaragon3746 2 жыл бұрын
@@doneber aaaah mas te valía 😠
IQ Level: 10000
00:10
Younes Zarou
Рет қаралды 11 МЛН
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 15 МЛН
لقد سرقت حلوى القطن بشكل خفي لأصنع مصاصة🤫😎
00:33
Cool Tool SHORTS Arabic
Рет қаралды 29 МЛН
哈莉奎因以为小丑不爱她了#joker #cosplay #Harriet Quinn
00:22
佐助与鸣人
Рет қаралды 8 МЛН
Relaciones entre clases: Composición y Agregación [Java]
21:28
El Profe Ariel
Рет қаралды 3,1 М.
A Simpler Way to See Results
19:17
Logan Smith
Рет қаралды 103 М.
Mejora la Calidad de tu Código utilizando Value Objects
16:20
CodelyTV - Redescubre la programación
Рет қаралды 33 М.
Rust Demystified 🪄 Simplifying The Toughest Parts
14:05
Code to the Moon
Рет қаралды 177 М.
OBSERVER (El PATRÓN que lo ve TODO) | PATRONES de DISEÑO
11:40
This Is Why Python Data Classes Are Awesome
22:19
ArjanCodes
Рет қаралды 799 М.
ED UD2.11 Diferencias entre COMPOSICIÓN y AGREGACIÓN
7:25
Rafael Villar Liñán
Рет қаралды 36 М.
Interfaces en Java (Programación orientada a objetos)
9:51
latincoder
Рет қаралды 225 М.
IQ Level: 10000
00:10
Younes Zarou
Рет қаралды 11 МЛН