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:
“There is a concept that is the corrupter and destroyer of all others. I speak not of Evil, whose limited empire is that of ethics; I speak of the infinite.”
—Jorge Luis Borges (18991986)
“Histories are more full of examples of the fidelity of dogs than of friends.”
—Alexander Pope (16881744)