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 <[email protected]> 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 <[email protected]>
>>> 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
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project