It's not, because there are no classes to create objects from - you create objects directly instead, and therefore inheritance is not possible. But Scratch objects do have their own variables, therefore we could consider Scratch an object-based language which is not the same.
I've answered this in Spanish.
Last edited by technoguyx (2013-02-18 17:58:29)
Offline
technoguyx wrote:
It's not, because there are no classes to create objects from - you create objects directly instead, and therefore inheritance is not possible. But Scratch objects do have their own variables, therefore we could consider Scratch an object-based language which is not the same.
I've answered this in Spanish.
Aw... I always thought Scratch was POO!
^^^to the post above
Just saying, some computers/devices don't have the character you're using, so some people might not be able to read what you type. Also, it just looks silly.
Offline
technoguyx wrote:
It's not, because there are no classes to create objects from - you create objects directly instead, and therefore inheritance is not possible. But Scratch objects do have their own variables, therefore we could consider Scratch an object-based language which is not the same.
I've answered this in Spanish.
Sprites are instances of a generic sprite class, each with their own properties.
Also, though it doesn't count, blocks are created as instances of the block class.
However, Scratch internally IS OOP - you just can't program with it. But BYOB extends Scratch to program with OOP.
Offline
^ Squeak Smalltalk is an OOP language, of course, but Scratch itself isn't.
See the fundamental features and concepts of OOP. Scratch objects lack local methods (though they can be emulated by broadcasts - but passing arguments gets really complicated this way) and inheritance.
Offline
You're still thinking about 1.4, aren't you? 2.0 does have both - procedures and cloning. So even if Scratch 1.4 wasn't 100% OOP, 2.0 is.
Offline
Still no classes. Procedures can't create variables within them, so 2.0 isn't 100% either.
Offline
Sprites can act as classes or instances with cloning. Though what you said about function variables is true...
Offline