Exercises
Lets do the following exercise:
Implement multiple inheritance but with a prototypal inheritance pattern, not property copying. Here is an example:
var my = objectMulti(obj, another_obj, a_third, { additional: "properties" });The
additionalproperty should be an own property; all the rest should be mixed into the prototype.Use the
canvasexample to practice. Try out different things. Here are some examples:Draw a few triangles, squares, and rectangles.
Add constructors for more shapes, such as
Trapezoid,Rhombus,Kite, andPentagon. If you want to learn more about thecanvastag, create aCircleconstructor too. It will need to overwrite thedraw()method of the parent.Can you think of another way to approach the problem and use another type of inheritance?
Pick one of the methods that uses
uberas a way for a child to access its parent. Add functionality where the parents can keep track of who their children are, perhaps using a property...