At 12:32 09.04.2002, Pierre-Alain Joye wrote:
> > Would it be so bad allowing closed source?
>I really do not care, but I really appreciate and use only ( for my dev )
>open sources products, but that is not the question, and was a joke ==> ;)
>:))
>
> > I think having one of MI, aggregation and interfaces is essential for OO
> > modelling.
>I m not a professionnal of OO design, but do not see how interfaces in php
>will help us during the design phases.
>Where do you use interfaces during the modelling phase ? If you use pear::db
>and an interface is available, how do you will use it ? ( no irony in these
>questions, just interested).
>
>pa
Lets A be a generic interface to do some work. Then A is an abstract object.
Lets B be a specific implementation on some other stuff. And let assume that
B has to be used for the same work as A was designed for.
Then we could have C be totally different from B but able to take its place
according to A.
Ok. Example:
class Collection is a class that allows collection o objects.
class A and class B are some classes.
Now Collection must store objects in general and it is not able to
communicate with the objects it stores.
Now implementing sorted lists:
Instance Item is an interface that allows comparison of to Items in
Collection by a method.
interface Item {
function ItemContent() { ... }
}
class Collection {
...
function Sort() {
...
$diff = $a->ItemContent() - $b->ItemContent();
...
}
function Insert($o) {
if ( !$o is Item) {
echo "Error: O is not Item";
} else {
insert....
}
}
}
class A implements Item {
var $a;
function ItemContent() {
return $this->a;
}
}
class B implements Item {
var $b;
function ItemContent() {
return $this->b;
}
}
helped?
marcus
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php