Bird and Airplane. They can both fly, but a Bird is not a type of Airplane and vice versa.
For unrelated objects, it's better to use mixins. A mixin allows other objects to use a collection of functions.
let flyMixin = function(obj) {The
obj.fly = function() {
console.log("Flying, wooosh!");
}
};
flyMixin takes any object and gives it the fly method.
let bird = {Here
name: "Donald",
numLegs: 2
};
let plane = {
model: "777",
numPassengers: 524
};
flyMixin(bird);
flyMixin(plane);
bird and plane are passed into flyMixin, which then assigns the fly function to each object. Now bird and plane can both fly:
bird.fly(); // prints "Flying, wooosh!"Note how the
plane.fly(); // prints "Flying, wooosh!"
mixin allows for the same fly method to be reused by unrelated objects bird and plane.
mixin named glideMixin that defines a method named glide. Then use the glideMixin to give both bird and boat the ability to glide.
glideMixin variable that is a function.
testString: 'assert(typeof glideMixin === "function", "Your code should declare a glideMixin variable that is a function.");'
- text: Your code should use the glideMixin on the bird object to give it the glide method.
testString: 'assert(typeof bird.glide === "function", "Your code should use the glideMixin on the bird object to give it the glide method.");'
- text: Your code should use the glideMixin on the boat object to give it the glide method.
testString: 'assert(typeof boat.glide === "function", "Your code should use the glideMixin on the boat object to give it the glide method.");'
```