賴敏
摘 要:在面向?qū)ο蟪绦蛟O(shè)計中,類是一個抽象化的概念,而對象是該類的實例化。因為類是抽象的,所以類是不占用內(nèi)存空間的,而對象是實例,所以對象一旦建立就要調(diào)用構(gòu)造函數(shù)為其屬性和方法分配所占用的內(nèi)存空間。類是用于創(chuàng)建對象的藍圖,它是一個定義包括在特定類型的對象中的方法和變量的軟件模板。
關(guān)鍵詞:類與對象;面向?qū)ο蟪?;程序設(shè)計
DOI:10.16640/j.cnki.37-1222/t.2016.09.214
1 面向?qū)ο蟪探虒W(xué)現(xiàn)狀
面向?qū)ο蟪绦蛟O(shè)計的思想,是軟件技術(shù)這個專業(yè)針對學(xué)生培養(yǎng)的重要素質(zhì)之一。尤其是在高職高專教育的課程體系里面,面向?qū)ο蟪绦蛟O(shè)計這門課程在各個高校里面一直都位居舉足輕重的位置。
在眾多的高等職業(yè)教育里面,計算機軟件體系的課程,尤其是針對軟件開發(fā)這一體系的課程基本都是先學(xué)程序設(shè)計基礎(chǔ),然后開設(shè)面向?qū)ο蟪绦蛟O(shè)計,從我從事多年的教學(xué)經(jīng)歷來看,學(xué)生們在學(xué)習(xí)程序設(shè)計基礎(chǔ)這門基礎(chǔ)課程的時候?qū)τ诔绦虻目刂平Y(jié)構(gòu)比較難以理解,到了學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計這門課程的時候,對類與對象的理解就更加困難了,尤其是給同學(xué)們樹立類與對象的思想。
2 面向?qū)ο蟪探虒W(xué)內(nèi)容—類與對象的教學(xué)設(shè)計
在這門課程的教學(xué)當(dāng)中,如果不讓學(xué)生樹立面向?qū)ο蟮乃季S,那么學(xué)生就很難進入本門課程的學(xué)習(xí),學(xué)習(xí)尤其要注重理解性記憶,如果全靠死記硬背把概念記住,是不可能深入學(xué)習(xí)面向?qū)ο蟮木璧?。本門課程要求學(xué)生理解面向?qū)ο缶幊趟枷?,掌握面向?qū)ο蠡靖拍?、集合框架、多線程、IO以及異常處理,能夠運用JDBC開發(fā)C/S模式下的中小型數(shù)據(jù)庫應(yīng)用軟件,能夠運用JUNIT工具進行單元測試,培養(yǎng)團隊協(xié)作、交流溝通、自學(xué)、抗壓能力,提升軟件工程規(guī)范及編碼規(guī)范意識。
所以要達到以上目標,就要很好地給同學(xué)們樹立面向?qū)ο蟪绦蛟O(shè)計的思想,很多教材都是編排在第一章第一節(jié)講解類的概念,在第一章第二節(jié)講解對象的概念,這種方式的講解無論是本科的學(xué)生還是專科的學(xué)生理解起來都是很困難的。所以在做本課程的教學(xué)設(shè)計的時候,就應(yīng)該改變以前傳統(tǒng)做法,爭取達到讓學(xué)生做到易學(xué)易懂易做。在這里僅僅以Java語言為例子說明講解怎樣讓學(xué)生理解類與對象的思想。
首先,按照標準定義給出類和對象的概念。類是對事物的抽象和歸納,是具有相同標準的事物的集合與抽象。對象是由屬性(Attribute)和行為 (Action)兩部分組成,屬性用來描述對象的靜態(tài)特征,行為用來描述對象的動態(tài)特征。這兩個概念,對于初次接觸面向?qū)ο筮@門課程的學(xué)生來說是很抽象的,而且是很不容易理解的,所以在講解的過程中作為教師一定要給出讓學(xué)生容易理解的例子以及代碼,幫助學(xué)生理解這個概念,而不是一味地去灌輸這個抽象的概念。在講解這個概念的時候也要盡可能地用簡單通俗易懂地語言灌輸給學(xué)生,也就是要把抽象問題具體化,復(fù)雜問題簡單化。比如給兩個簡單的例子如下,來幫助學(xué)生理解類與對象的概念以及他們之間的聯(lián)系就一目了然。
class Person{ public class UsePerson{
String name; public static void main(String[] args){
int age; Person zhangsan=new Person();
String sex; zhangsan.name=“張三”;
public void show(){ zhangsan.age=18;
System.out.println(“姓名:”+this.name); zhangsan.sex=“男”;
System.out.println(“年齡:”+this.age); zhangsan .show();
System.out.println(“性別:”+this.sex); }
} }
}
對比以上兩段代碼,左邊這段代碼著重培養(yǎng)學(xué)生們面向?qū)ο蟮乃季S,幫助學(xué)生理解“類”這一個非常抽象的概念,這樣就把人“類”這個非常抽象的概念用代碼加以具體化,讓學(xué)生們更好地加以理解和掌握,“人類”就是一個抽象化的概念,它把人類所共有的特點以及人類的一些共同的動作行為封裝在了一對大括號里面,所以說“類”是屬性和方法的集合。右邊這段代碼用以幫助理解對象這個概念,“對象”就是對類進行實例化,在這個例子里面,“張三”就是人類的一個具體實際的例子,也是學(xué)生們用眼睛能夠觀察體會到的實體,也就是對“人類”進行的實例化。這兩段代碼簡單詳細地解釋了“類”是一個抽象化的概念,而“對象”是該類的一個實體。所以在講解這兩個概念的時候,要改進以前的方式方法,不能為了概念而一味地去給學(xué)生灌輸概念,更不能把“類”和“對象”這兩個概念分開分步驟地去講解。二是要把這兩個有著緊密聯(lián)系的概念放在一起簡單明細地去講解。
3 教學(xué)設(shè)計的小結(jié)
以這樣的方式把面向?qū)ο蟪绦蛟O(shè)計里兩個重要的概念理解了,同時也讓學(xué)生樹立了面向?qū)ο蟪绦蛟O(shè)計的思想,那么在后續(xù)的課程里,讓學(xué)生學(xué)習(xí)類的三大特征:封裝性,繼承性,多態(tài)性,也就顯而易見了。讓眾多學(xué)生進而深入地學(xué)習(xí)這門課程也就便得簡單明了。
參考文獻:
[1]姚駿屏,何桂蘭主編.陳素瓊,任姚鵬副主編.Java面向?qū)ο蟪绦蛟O(shè)計與系統(tǒng)開發(fā)[M].西安電子科技大學(xué)出版社,ISBN 978-7-5606-3649-8,2014(12).
[2]http://zhidao.baidu.com/question/28922601.html?fr=qrl&index=0&qbl=topic_question_0.
[3]江開耀.軟件工程與開發(fā)技術(shù)[M].西安電子科大出版社,2009.
[4]錢銀中.java程序設(shè)計案例教程[M].機械工業(yè)出版社,2009.
[5]寧麗莎.管理信息系統(tǒng)開發(fā)與軟件工程[M].各界(科技與教育),2008(01).