On 18 May 2010 16:12, mathieu.suen <mathieu.s...@easyflirt.com> wrote: > Hi, > > In the SPL there is some interface that have abstract method: > > *Countable* { > /* Methods */ > abstract public int count <http://www.php.net/manual/en/countable.count.php> > ( void ) > } > > While some interface have "none abstract" method. > > *OuterIterator* extends Iterator > <http://www.php.net/manual/en/class.iterator.php> { > /* Methods */ > public Iterator getInnerIterator > <http://www.php.net/manual/en/outeriterator.getchildren.php> ( void ) > ..snip.. > } > > Does "abstract" keyword have a semantic? > > Thanks > > --Mathieu suen > > > >
http://docs.php.net/abstract By the nature of the method being in an interface, it is automatically abstract - there is no code behind the method in an interface. So you must supply the code in any class that implements the interface. Unless the sub-class is declared as an abstract class ... <?php abstract class counter implements countable { } class counting extends counter { public function count() { return 1; } } $a = new counting(); echo $a->count(); ?> -- ----- Richard Quadling "Standing on the shoulders of some very clever giants!" EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php