
Oscar Estrella
Pregunta¿Una fabrica de objetos pudiera heredar?

Oscar Estrella
Excelente, muchas gracias!

Juan Castro
Hay muchas formas de hacer eso. :smirk:
Puede ser que la fábrica con la que creamos los objetos "finales" sean las createStudent(Base, Basic, Free, etc.). Y esas fábricas por dentro llamarían a la fábrica principal para "heredar" sus propiedades.
function createStudent() { return { name: "Juan", }; } function createStudentFree() { const studentBase = createStudent(); return { ...studentBase, type: "Free", }; } function createStudentBasic() { const studentBase = createStudent(); return { ...studentBase, type: "Basic", }; } const juan = createStudentFree();
Eso podemos hacerlo con el spread operator, con la función deepCopy que aprendemos a usar en este mismo curso o incluso con los métodos call, bind y/o apply: https://platzi.com/clases/1642-javascript-profesional/22163-los-metodos-call-apply-y-bind/

Oscar Estrella
Ok, pero por ejemplo si tenemos las fabricas: createStudentFree, createStudentBasic y createStudentBasic. ¿Podríamos, para ahorrar codigo, heredar de otra fabrica createStudenBase?. Basicamente lo que quiero entender es si las fabricas de objetos pueden reemplazar totalmente los prototipos ("clases")

Juan Castro
Los objetos fabricados a partir de fábricas de objetos heredan las propiedades que esa fábrica les haya definido. :thinking: