<?xml version="1.0" encoding="iso-8859-1"?>
<slide fontsize="3em">
	<title>Objects - Abstract</title>

	<blurb>The issue: Define basic classes to be completed as library extensions</blurb>
	<example result="1"><![CDATA[<?php
class abstractClass {
	
	abstract public function toImplement();

	public function alreadyImplemented() {
		echo __METHOD__, "\n";
	}
}

>]]></example>
	<blurb>Classes remain abstract until all abstract functions are implemented.</blurb>
	<example result="1"><![CDATA[<?php
class RandomClass extends AbstractClass {
	
	public function toImplement() {	
		echo __METHOD__, "\n";
	}
}

$object1 = new RandomClass();
$object1->toImplement();
$object1->alreadyImplemented();

$object2 = new abstractClass();

>]]></example>
	<example result="1"><![CDATA[<?php
var_dump( Singleton::$static );
?>]]></example>
</slide>
