Well, if you understand overriding (i.e., polymorphism) then you understand "DMD" too, as they're effectively the same thing.
Real-world analogies are useful to a point, but it's easy to get carried away. Object-oriented concepts only superficially resemble concepts from the real world, and certainly if you're at the point where you're expecting different analogies for concepts as similar as these, you've carried the power of analogy too far.
As far as book recommendations, have you read Head First Design Patterns? You sound like the kind of visual learner who would really benefit from the "Head First" books.
Joined: Jan 21, 2010
Thanks for the reply.
I guess Analogies are the good way to learn the concepts.
I have not read that book Head First Design Pattern but i want to and hoping to read it soon....
I love Head First Books....but this time i want to read books that have the style like Bruce Eckel Thinking in C++
A dynamic method dispatch is similar to runtime binding and dispatch which some languages call RTTI - run-time type identification and binding. e.g. will be let's suppose you have cats, lions and leopards in a zoo. They can all stalk() and pounce() but which pounce() happens depends on which "CAT" is being considered. The dispatch is the action of the pounce...but the implementation (say height 1m, 4m or 6m) depends on the animal instance!
Let's see a practical use of the same. Let's say you are building some UI controls. Each control has a decorator based method that draws its border - drawBorder(String identifyDecorator). Now depending on the decorator-constant passed I can use a factory to generate and draw the appropriate Decorator defined border. Here you see the DMD in action where which decorator's drawBorder version executes will depend on the idenitfyDecorator constant passed.
BTW, coming to the book, "OO Thinking" is a good book, but only if you are an advanced reader and will walk/run the extra mile of following references.
Java Pal - Your friend in technology and innovation...India.
Object Technology: A Manager's Guide Paperback: 224 pages
Publisher: Addison-Wesley Professional
This is a very good book. The author presents general theories in a simple and basic manner, and demonstrates the "real-world" aspects of object modeling. If readers can get a good understanding of the most basic concepts, then this may certainly help later on when they encounter more complex issues and concepts. This is a good book for beginner programmers with limited understanding of Object technology and for managers and technical leaders that need to gain a general understanding but will not have to write any code.