美文网首页儿童编程Scratch2儿童编程教孩子学Scratch
Scratch中“面向对象”思想的体现——儿童积木编程与代码编程

Scratch中“面向对象”思想的体现——儿童积木编程与代码编程

作者: 一石匠人 | 来源:发表于2018-07-04 11:10 被阅读110次

    Scratch是MIT面向少年儿童设计的一款搭积木式的编程软件。对零基础的少年儿童(尤其针对8-16岁)及零基础的成年人普及编程、编程入门具有重大意义。对于教育者来说更多的应该思考学习Scratch对学习其他编程语言(指敲代码的编程语言)具有多大的帮助、具有什么意义。

    经过思索,我发现Scratch很多方面体现了当下很火的"面向对象"编程思想。主要体现在封装、继承、多态等方面。

    1.封装

    在脚本面板中有一项"更多积木"的模块,允许使用者构建自己的”积木块“,相当于构建一个函数,可以增加各种参数及文本标签,如图1所示。这个功能极大地丰富了Scrarh的创造性,使这个软件变得强大,为使用者学习其他语言提供更多的准备工作。

    当编辑好新的代码块之后,直接像其他积木块一样拖拽即可使用,体现了“”封装的特性。

    图1 更多积木/制作新的积木

    如下图添加并定义了一个积木块“沿着正方形跑”,并设置了一边长参数,将这个代码块加到角色身上,如图2所示,角色就会沿着给定边长的正方形路径跑步。

    图2  定义新的代码块及调用举例

    运行程序效果如图3,为了方便大家看清楚小猫的运动路径,代码中加入了画笔功能。

    图3 调用自定义积木的效果图

    2.继承

    Scratch的“继承”特性主要体现在复制和克隆两个方面。

    1)复制带代码的角色

    复制角色,能够把代表一并复制。如图4所示。体现了面向对象“继承”的特点。

    图4  复制体现“继承”特点举例

    2)克隆

    通过“克隆”功能能够实现角色的“继承”。这个功能很棒,能够实现丰富的效果,如游戏《飞机大战》中的各种飞机。如图5克隆对象,点击它还可以再次生成克隆对象。也就是说经点击被克隆的功能本身也被“继承了”。

    图5 克隆模块举例

    3.多态

    1)复制带代码的角色——之后进行修改

    如图6所示, 在复制的对象中体现多态,只需要添加或修改被复制对象的部分代码。

    图6 在复制对象中体现多态

    2)与发送消息事件结合,不同对象不同反应

    复制对象,然后对复制的对象的代码进行个性化编辑,也能体现“多态”特点,如图7、图8、图9所示。

    图7 消息事件体现多态效果图 图8  第一个复制角色代码图 图9  第二个复制角色代码

    3)通过“克隆”功能体现

    当作为克隆对象出现的时候执行不同的代码也体现了“多态”的特点,如图10所示。

    图10  通过克隆体现“多态”特点

    4.实例化

    通过克隆、复制实现增加角色的做法也可以理解成对象实例化的过程。通过自定义新的积木块也可以完成实例化的过程,如图11所示。

    图11 自定义代码块实例化举例

    综上,Scratch在封装、继承、多态、实例化等方面体现了"面向对象"编程思想,能为使用者过度到其他语言学习(如Python)提供极大的帮助。

    相关文章

      网友评论

      • 我是月月老师:我觉得可以,用画笔功能和,数学公式和几何形状进行绘画,表现数学和艺术之美。另外,通过切换造型和背景,设计动画,这个我在网上见过,但是对于少儿编程都点难,成人炫技可以,不用scratch ,用PPT也能达到效果。我暂时就想到这些。
        一石匠人:找时间尝试下:+1:
      • 我是月月老师:画图形的课程,学员很感兴趣,并激发很多创造力。可以借着这个主题的作品造成自定义积木和克隆积木的教学
        一石匠人:如果说就针对“编程+创造艺术”这个主题,研发一系列课程。您觉得可行吗?也就是说只用Scratch的一部分功能。学习的重点变为“创造”“艺术”的学习。而Scratch只是工具。

      本文标题:Scratch中“面向对象”思想的体现——儿童积木编程与代码编程

      本文链接:https://www.haomeiwen.com/subject/aggsuftx.html