I've had at least three job interviews in the past two weeks, and each one has 
asked me this rather "text book academic" question regarding the difference 
between "abstract" vs. "interface". I've been coding for nearly 20 years, and 
at least 10 of those have been in PHP and another 3 in J++. I have NEVER used 
either of these concepts/keywords? Am I missing some exciting tool/feature? 

All the reading I've done tonight just reinforces my thoughts that these are, 
for the most part useless. Unless you're building some HUGE project that has an 
API and there are teams of people that are going to extend your framework, then 
what good are they? 

This DB wrapper is the closest to an answer I've come across. 

http://www.developer.com/lang/php/article.php/3604111

But that still doesn't explain the difference between abstract and interface, 
it only illustrates the possible need for a 'template' so others know which 
methods they must implement. In my mind, it just seems like overhead, as if you 
were going to write another DB wrapper using this one, then wouldn't you just 
look at their code (example) and implement those same methods anyways? I mean, 
you'd have to look at the abstract/interface to find out the required methods, 
so why not skip that and just look at the actual class instead?

Here are two more pages that still don't seem to answer why there are both and 
when you'd use one over the other?

http://www.hiteshagrawal.com/php/oops-in-php5/oops-in-php5-tutorial-abstract-class
http://www.hiteshagrawal.com/php/oops-in-php5/oops-in-php5-using-interface

And then this completely absurd over the top use of them for a HelloWorld 
example, which seems to use them just for the sake of using them...

http://marc.info/?l=php-general&m=115950654928311&w=2

Lastly was this page:

http://www.phpro.org/tutorials/Object-Oriented-Programming-with-PHP.html

Which seems to only really provide a "hack" (printerFax) to circumvent the lack 
of multiple inheritance.


Can someone clear this up for me?

Daevid.
http://daevid.com


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to