Use Interfaces when you know the behaviour but do not know implementation. Use Abstract Clsses when you know some properties, behaviour and may or may not know implementaion. [ March 07, 2006: Message edited by: KJ Reddy ]
Also, a class may implement any number of iterfaces, whilst it can only directly extend one class (which may be the abstract class in question). So interfaces are more flexible in this way...
There is no emoticon for what I am feeling!
To get a wish, you need a genie. To get a genie, you need a lamp. To get a lamp, you need a tiny ad:
a bit of art, as a gift, the permaculture playing cards