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)
“There are many examples of women that have excelled in learning, and even in war, but this is no reason we should bring em all up to Latin and Greek or else military discipline, instead of needle-work and housewifry.”
—Bernard Mandeville (16701733)