Re: A Good OOP Tutorial/Read?
| From: | Tedd Sperling | Date: | Fri, 17 May 2013 14:04:40 +0000 |
| Subject: | Re: A Good OOP Tutorial/Read? | ||
| References: | 1 2 3 4 5 6 7 8 9 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-321104@lists.php.net to get a copy of this message | ||
Stuart:
You said:
> 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 wanted.
So, can anyone give me a simple example where an interface is used so I can easily explain why they
are important?
Thanks,
tedd
_____________________
tedd.sperling@gmail.com
http://sperling.com