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 latest creed that has to be believed
And entered in our childish catechism
Is that the Alls a concept self-conceived,
Which is no more than good old Pantheism.”
—Robert Frost (18741963)
“It is hardly to be believed how spiritual reflections when mixed with a little physics can hold peoples attention and give them a livelier idea of God than do the often ill-applied examples of his wrath.”
—G.C. (Georg Christoph)