Scratch中“面向?qū)ο蟆彼枷氲捏w現(xiàn)——兒童積木編程與代碼編程的聯(lián)系

Scratch是MIT面向少年兒童設計的一款搭積木式的編程軟件。對零基礎的少年兒童(尤其針對8-16歲)及零基礎的成年人普及編程、編程入門具有重大意義。對于教育者來說更多的應該思考學習Scratch對學習其他編程語言(指敲代碼的編程語言)具有多大的幫助、具有什么意義。

經(jīng)過思索,我發(fā)現(xiàn)Scratch很多方面體現(xiàn)了當下很火的"面向?qū)ο?編程思想。主要體現(xiàn)在封裝、繼承、多態(tài)等方面。

1.封裝

在腳本面板中有一項"更多積木"的模塊,允許使用者構建自己的”積木塊“,相當于構建一個函數(shù),可以增加各種參數(shù)及文本標簽,如圖1所示。這個功能極大地豐富了Scrarh的創(chuàng)造性,使這個軟件變得強大,為使用者學習其他語言提供更多的準備工作。

當編輯好新的代碼塊之后,直接像其他積木塊一樣拖拽即可使用,體現(xiàn)了“”封裝的特性。

圖1 更多積木/制作新的積木

如下圖添加并定義了一個積木塊“沿著正方形跑”,并設置了一邊長參數(shù),將這個代碼塊加到角色身上,如圖2所示,角色就會沿著給定邊長的正方形路徑跑步。

圖2? 定義新的代碼塊及調(diào)用舉例

運行程序效果如圖3,為了方便大家看清楚小貓的運動路徑,代碼中加入了畫筆功能。

圖3 調(diào)用自定義積木的效果圖

2.繼承

Scratch的“繼承”特性主要體現(xiàn)在復制和克隆兩個方面。

1)復制帶代碼的角色

復制角色,能夠把代表一并復制。如圖4所示。體現(xiàn)了面向?qū)ο蟆袄^承”的特點。

圖4? 復制體現(xiàn)“繼承”特點舉例

2)克隆

通過“克隆”功能能夠?qū)崿F(xiàn)角色的“繼承”。這個功能很棒,能夠?qū)崿F(xiàn)豐富的效果,如游戲《飛機大戰(zhàn)》中的各種飛機。如圖5克隆對象,點擊它還可以再次生成克隆對象。也就是說經(jīng)點擊被克隆的功能本身也被“繼承了”。

圖5 克隆模塊舉例

3.多態(tài)

1)復制帶代碼的角色——之后進行修改

如圖6所示, 在復制的對象中體現(xiàn)多態(tài),只需要添加或修改被復制對象的部分代碼。

圖6 在復制對象中體現(xiàn)多態(tài)

2)與發(fā)送消息事件結合,不同對象不同反應

復制對象,然后對復制的對象的代碼進行個性化編輯,也能體現(xiàn)“多態(tài)”特點,如圖7、圖8、圖9所示。

圖7 消息事件體現(xiàn)多態(tài)效果圖
圖8? 第一個復制角色代碼圖
圖9? 第二個復制角色代碼

3)通過“克隆”功能體現(xiàn)

當作為克隆對象出現(xiàn)的時候執(zhí)行不同的代碼也體現(xiàn)了“多態(tài)”的特點,如圖10所示。

圖10? 通過克隆體現(xiàn)“多態(tài)”特點

4.實例化

通過克隆、復制實現(xiàn)增加角色的做法也可以理解成對象實例化的過程。通過自定義新的積木塊也可以完成實例化的過程,如圖11所示。

圖11 自定義代碼塊實例化舉例

綜上,Scratch在封裝、繼承、多態(tài)、實例化等方面體現(xiàn)了"面向?qū)ο?編程思想,能為使用者過度到其他語言學習(如Python)提供極大的幫助。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容