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:
“Revolution as an ideal concept always preserves the essential content of the original thought: sudden and lasting betterment.”
—Johan Huizinga (18721945)
“No rules exist, and examples are simply life-savers answering the appeals of rules making vain attempts to exist.”
—André Breton (18961966)