MB>> Sure it cannot because insert cannot. The problem and the error you did
MB>> above is that you split an operation into two. Your real operation is
MB>> insert_with_password and that is different from insert. Again insert is an

That's the whole point of OO - to allow overloading the same operation, so 
even classes that do not know about implementation details could use it. 

MB>> as a member and not as a base class. Maybe it is now a good thing to
MB>> have a generalised container interface and declare insert in the container
MB>> implementations final. Highly specialised containers would then inheritd

I do not see why should container interface be final. 

MB>> A class that is derived from a concrete container may in some container
MB>> implementations have final functions. For example whatever inherits a fifo

Still have no explanation why anyone would need it. Just to disallow 
overriding "because we can"? I see no added value in that. 

MB>> If you have another insert implementation in a class than you
MB>> missused inheritance. If the operation is different than your derived
MB>> class is no for example no longer a fifo. Instead it uses a fifo.

Implementation can be different and still be a fifo. That depends on 
overriding implementation.

Again, I still have yet to see any example where the proposed 'final' 
plays substantial role and not just is there because 'maybe someone might 
want to use it'.

-- 
Stanislav Malyshev, Zend Products Engineer   
[EMAIL PROTECTED]  http://www.zend.com/ +972-3-6139665 ext.109




-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to