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:
“The concept is interesting: to see, as though reflected
In streaming windowpanes, the look of others through
Their own eyes.”
—John Ashbery (b. 1927)
“No rules exist, and examples are simply life-savers answering the appeals of rules making vain attempts to exist.”
—André Breton (18961966)