Random Brain Dump 0

Random stuff.


 * Difference between an abstract class and an interface class
 * Abstract classes are basically "incomplete" classes that hint towards what extending classes should be doing. It may or may not include implementation.
 * Interface classes are basically a list of required methods that extending classes must implement. It doesn't include implementation.
 * An abstract class is a contract between class/API developers, while an interface is a contract between class developers and API users.

Question: so what's the use of an interface class anyway?


 * A class can only inherit a single class, but it can implement multiple interfaces.
 * This is probably because an interface class contains no body; without a body, the diamond problem found in multiple inheritance (i.e., C++) doesn't arise.


 * __autoload is used to load a class' required external files.


 * PHP5 classes are passed by reference (no need for $foo = &$bar probably).