> An interface does what it says on the tin: it describes an interface that a
> class can then tell the world it implements.
> An abstract class provides functionality as well as an interface description.
> An abstract class cannot be instantiated, it can only be extended.
> The logging example given by someone earlier in this thread is the most
> common example given for interfaces. This is where the interface is defined
> as an API for others to implement and/or use which then enables users to pick
> and choose the combination of implementations they want to use based on their
> requirements without needing to change any of the code of either class.
I understand the "stated" differences between abstract and interface. I can
cite what the differences are, but I don't see the practical application
differences. To me there is no difference between an abstract class (without
method declarations) and an interface.
However, I view an interface as a statement (a contract) where IF you want
someone to use your code you outline the methods you require them to flesh-out
in their code -- but I would like to see a simple example of that.
I vaguely get the logging example given by Larry, but I'm not good at abstract
thinking -- I need a concrete simple example.
I tried to create a demo where I had a Toaster Class that contained
breadNumber() and toastSetting() methods and then created an interface so my
students could use the Toaster, but it didn't really hold up as well as I
So, can anyone give me a simple example where an interface is used so I can
easily explain why they are important?
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php