On 11.08.2010, at 15:23, Alexandre Bergel wrote:
Yes please don't add that.
This is not my intention. But I just discovered some bugs in my test because I instantiated a class that shouldn't be instantiated since it is abstract. If now we close our eyes and dream about a clean oo language. Will forbidding to instantiate an abstract class a wished feature?
Ok, I'm going slightly off-topic here. But what makes me wonder is that it is Behavior>>isAbstractClass and not Class>>isAbstractClass And wouldn't it than be Class>>basicNew self isAbstractClass ifTrue: [ self error: 'An abstract class cannot be instantiated' ]. ^ super basicNew if you want to avoid abstract classes being instantiated? Not to forget basicNew: Just a question. Norbert
On Wednesday, August 11, 2010, Stanislav Paskalev <kshorg@gmail.com> wrote:
And it will also require modifying the Pharo by Example book that says that there's nothing wrong with instantiating abstract classes and that there is no *abstract* class marker in this sense, only abstract methods.
So, why would try to convert Pharo to another language ?
Stanislav Paskalev
On Wed, Aug 11, 2010 at 3:43 PM, Alexandre Bergel <alexandre@bergel.eu> wrote:
Hi!
Just wondering. What about redefining new into: -=-=-=-=-=-=-=-=-=-=-=-= Behavior>>new "Answer a new initialized instance of the receiver (which is a class) with no indexable variables. Fail if the class is indexable." self isAbstractClass ifTrue: [ self error: 'An abstract class cannot be instantiated' ]. ^ self basicNew initialize -=-=-=-=-=-=-=-=-=-=-=-=
This may break a lot of code however.
Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Lukas Renggli www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project