Concept Examples
Consider the following pseudo-code for a duck-typed language:
function calculate(a, b, c) => return (a+b)*c example1 = calculate (1, 2, 3) example2 = calculate (, 2) example3 = calculate ('apples ', 'and oranges, ', 3) print to_string example1 print to_string example2 print to_string example3In the example, each time the calculate function is called, objects without related inheritance may be used (numbers, lists and strings). As long as the objects support the "+" and "*" methods, the operation will succeed. If translated to Ruby or Python, for example, the result of the code would be:
Thus, duck typing allows polymorphism without inheritance. The only restriction that function calculate places on its variables is that they implement the "+" and the "*" methods.
The duck test can be seen in the following example (in Python). As far as the function in_the_forest is concerned, the Person object is a duck:
Read more about this topic: Duck Typing
Famous quotes containing the words concept and/or examples:
“Terror is as much a part of the concept of truth as runniness is of the concept of jam. We wouldnt like jam if it didnt, by its very nature, ooze. We wouldnt like truth if it wasnt sticky, if, from time to time, it didnt ooze blood.”
—Jean Baudrillard (b. 1929)
“Histories are more full of examples of the fidelity of dogs than of friends.”
—Alexander Pope (16881744)