摘 要:類與對象是Java語言中的重要內(nèi)容,是面向?qū)ο缶幊痰幕A(chǔ)。本文詳細(xì)地講述了一套類與對象的教學(xué)方法,即“知識點歸納-案例構(gòu)建或選擇-案例演示與講解-課堂練習(xí)-課后作業(yè)-實踐操作”。
關(guān)鍵詞:案例;面向?qū)ο?;Java;類
Java語言自從1995年被推出以來,一直廣受喜愛,被稱為網(wǎng)絡(luò)語言。在最近十幾年TIOBE編程語言社區(qū)發(fā)布了編程語言排行榜,Java始終位居前三位。由于其面向?qū)ο蟆踩?、多線程、分布式等優(yōu)點,Java成為應(yīng)用系統(tǒng)首選的開發(fā)語言之一。在許多互聯(lián)網(wǎng)招聘網(wǎng)站發(fā)布的招聘信息中,Java工程師也是需求量最大的職位之一。當(dāng)今,地方本科院校正在轉(zhuǎn)型發(fā)展,辦應(yīng)用型技術(shù)大學(xué)。因此,提高Java程序設(shè)計課程教學(xué)質(zhì)量,不僅可以提高學(xué)生的就業(yè)能力,而且也可以為信息產(chǎn)業(yè)培養(yǎng)軟件人才,使中國的信息產(chǎn)業(yè)做大做強(qiáng)。目前,大部分高等院校計算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、信息與計算科學(xué)等信息類專業(yè)都開設(shè)了Java程序設(shè)計課程。由于學(xué)生學(xué)習(xí)該課程之前,許多院校都開設(shè)C程序設(shè)計課程。C語言是一門經(jīng)典的程序語言,對其他程序設(shè)計語言的設(shè)計產(chǎn)生了極大影響,至今在嵌入式操作系統(tǒng)開發(fā)上有著廣泛的應(yīng)用。鑒于它的重要性,大部分院校信息類專業(yè)培養(yǎng)方案把它作為一門基礎(chǔ)必修課,在大學(xué)一年級就開設(shè)了。而C語言是一門面向?qū)ο蟮某绦蛟O(shè)計語言,對以后面向?qū)ο蟮膶W(xué)習(xí)有阻礙作用。根據(jù)教學(xué)經(jīng)驗,學(xué)生對先入為主的知識印象深刻,很容易產(chǎn)生思維定式,不習(xí)慣使用面向過程思想考慮問題。Java程序設(shè)計中類與對象是面向?qū)ο缶幊袒A(chǔ)。開展好“類與對象”的教學(xué)對于轉(zhuǎn)變學(xué)生編程思想,奠定軟件開發(fā)理論基礎(chǔ)具有重要意義。筆者在地方高校從事了多年的Java程序設(shè)計課程教學(xué),通過反復(fù)探索與實踐,總結(jié)了一套行之有效的教學(xué)方法,即“知識點歸納-案例構(gòu)建或選擇-案例演示與講解-課堂練習(xí)-課后作業(yè)-實踐操作”教學(xué)模式。
一、知識點歸納
依據(jù)教學(xué)大綱和內(nèi)容之間的邏輯關(guān)系,將“類與對象”的教學(xué)內(nèi)容歸納為若干個知識點,即類定義、類繼承、方法或變量的靜態(tài)性、訪問權(quán)限、對象初始化、方法重載、方法覆蓋和多態(tài)機(jī)制。在每一個知識點上,我們總結(jié)其“規(guī)則”。如在訪問權(quán)限上,類的訪問權(quán)限有public和默認(rèn)兩種,成員的訪問權(quán)限有public,protected,默認(rèn)和private四種。標(biāo)識為private的成員只能在類中被訪問,默認(rèn)訪問權(quán)限只有在同一個目錄下被訪問,標(biāo)識為protected的成員可以在同一個目錄下或繼承關(guān)系的子類中被訪問。成員能夠被訪問必須具備類和成員可訪問權(quán)限。
二、案例構(gòu)建或選擇
圍繞知識點,我們精心挑選或構(gòu)建體現(xiàn)知識點規(guī)則的案例。如在對象初始化知識點上,對象初始化遵循的順序是“父類靜態(tài)變量賦初值,父類初始化靜態(tài)塊,子類靜態(tài)變量賦初值,父類非靜態(tài)變量賦初值,父類非靜態(tài)語句塊,父類構(gòu)造方法,子類非靜態(tài)變量賦初值,子類非靜態(tài)語句塊,子類構(gòu)造方法”。我們構(gòu)建Animal類,擁有靜態(tài)成員變量weight,非靜態(tài)成員變量age,構(gòu)建靜態(tài)塊和非靜態(tài)塊,然后分別賦值相應(yīng)變量后輸出;在構(gòu)構(gòu)造函數(shù)中,重新賦值后再輸出。定義子類Cat,擁有靜態(tài)變量num和非靜態(tài)變量luck,構(gòu)建靜態(tài)塊和非靜態(tài)塊,然后分別賦值相應(yīng)變量后輸出;在子類構(gòu)造函數(shù),重新賦值后再輸出。
三、案例演示與講解,課堂練習(xí)
在課堂上,教師在講解知識點和相應(yīng)的規(guī)則后,在PPT上顯示案例,讓學(xué)生根據(jù)知識點的“規(guī)則”寫出程序運(yùn)行結(jié)果。在學(xué)生給出結(jié)果后,教師演示程序運(yùn)行結(jié)果,揭示相應(yīng)的機(jī)制。通過這個過程后,做錯了的學(xué)生知道錯在哪里,做對了的學(xué)生理解了面向?qū)ο蟮乃枷?。教師再布置一個類似的習(xí)題,讓學(xué)生課堂中練習(xí),加深印象和理解。
四、課后作業(yè)和實踐操作
“紙上得來終覺淺,絕知此事要躬行?!北M管在課堂中聽懂了教師所講內(nèi)容以及會做一些練習(xí)題,但如果不加以鞏固,學(xué)生就會遺忘。此外,學(xué)生自己不動手編程,其理論和實踐水平都不會提高。教師要布置相應(yīng)的作業(yè)題和實踐操作題來鞏固和提高本次教學(xué)內(nèi)容。作業(yè)題和實踐操作題分為兩類,一類與課堂內(nèi)容和難度相類似,起鞏固作用。另一類比課堂內(nèi)容稍難一些,促使學(xué)生主動思考,起提高作用。
總之,從課堂學(xué)生互動的積極性以及作業(yè)完成情況來看,方法的教學(xué)效果還比較理想。案例、作業(yè)題、實踐操作題等相關(guān)的資源庫構(gòu)建是該方法教學(xué)的基礎(chǔ),也應(yīng)當(dāng)不斷完善。
基金項目:湖南省教育廳優(yōu)秀青年項目(15B216)。
作者簡介:黃國華,副教授,邵陽學(xué)院理學(xué)與信息科學(xué)系教師。